Then reject apps with crappy user experiences. If this takes out all Flash derived apps, why the superfluous language specifically banning apps written in anything other than Objective C?
"UX is subjective, they can't reject apps on that basis."
This is the Apple App Store. All apps require Apple approval before they can be sold. They can reject apps on whatever criteria they like. They have also demonstrated this is not a theoretical concern, either, by rejecting things for all sort of reasons that can't be said to be "objective". Apple graciously gives developers some guidelines on how they may make their arbitrary decisions, but, well, while I concede I have not read the developer agreement it is only because I'm about 98% confident without looking that Apple never actually agrees to do anything w.r.t. releasing your app.
Ultimately, "we don't want our vision compromised" is a smokescreen. It is absolutely true that if this is what they wanted, they could accomplish it simply by holding all apps to the same standard regardless of implementation techniques. This is all about lockin.
Now, if an open platform mandated certain libraries, but allowed you to distribute arbitrary executables, the UX argument would at least hold water, as lacking the strong enforcement mechanism of having absolute say over what you can run on your device means that falling back to the weaker enforcement mechanism of code would arguably mean something. (Something stupid, but something.) But Apple already has total control. Arguing about how their already-total control can only be augmented by this technical thingie over here is a smokeshow; taking control from "total" to "total" is a no-op, technically.
It's not ridiculous. If the finished app meets Apple's standards, why should they care how it's made? Whether something is written in Objective-C or compiled to it is irrelevant if the finished product is indistinguishable.
It's like saying "I need the original copy of that file." What, you want me to ship you the hard drive? All you really need are identical bits of information.
Oh, crap, I defragged my hard drive. Guess I don't have the "original copy" anymore after all.
Do you have any examples? And we're not talking about apps which replicate core functionality, call private APIs, or do a bunch of stuff that is forbidden by the developer agreement ...