Cascades applications can access core native APIs quite easily thought the message passing method is different. Cascades uses the Qt signal/slot method, core native applications use a queue/polling method.
To take advantage of signals and slots you would have to implement either pure Qt or Cascades objects, so it would no longer really be just core native applications. Thoug that is just semantics. That said there is support for most core functionality in Cascades. When support is not available I generally write the queue code into the processing object for a QtThread and change queue events into signals.