Pretty well everything you use (numbers, text, constants etc) has to be wrapped in a Cocoa object and that allows all sorts of magic to occur behind the scenes; now including multi-tasking, state saving etc. Cross compiled code breaks the object tracking and Apple are having none of it.
Cross compiled code has nothing to do with this. All Objective-C method invocations are compiled to C function calls to objc_msgSend(). Instantiating Objective-C classes is just translated to a call to class_createInstance(). Indeed, Objective-C itself was originally just a preprocessor, a "code generator" if you will, for C.
Any code, compiled from whatever source, that uses these interfaces is indistinguishable to the Objective-C runtime. This new rule targets so much more than just Flash and bloated middleware. They are forbidding developers from taking advantage of any computer science progress made in the last 30 years in developing their native, iPhone/iPad only apps. Reiterating what I posted in another thread, Apple is perfectly happy to kill lots of friendlies in order to take out a few more, irrelevant bad guys.