While I don't necessarily agree with Apple's iPhone policies, I don't see anything anticompetitive with regards to this particular policy (you must develop only in C, C++, or objC).
Please have the guts to say whether you agree or disagree with their policy instead of the constant waffling and weasel words displayed by most of the Apple and Jobs fans here.
This policy disallowing cross-compilers is clearly aimed at one company - Adobe. I have been around computers for a long time and I've never seen such a ridiculous restriction - ever. It is very odd and is clearly and carefully worded in such a way to crush the Adobe Packager, but in such a way that they hope can avoid legal ramifications.
There is absolutely no technical reason for it - even to accomplish Apple's stated goals of having a consistent user experience. A cross compiler can generate native Apple code using documented API's. It still has to meet Apple's approval to get into the App Store which still allows them reject it if it didn't meet their other criteria.
It is clearly anti-competitive - whether it is illegally so would hopefully be explored in an investigation - although I'm not holding my breath.
But it is definitely wrong and I would hope even Apple and Jobs fans would have the courage to at least complain to Apple that attempting to crush their competitors will not be tolerated by their developer community (and I'm definitely not holding my breath for that).