You ask a good question. My understanding is that 80+% market share is not a barrier to entry even when there are strong incentives for developers to develop for iPhone.
The barrier to developing for other platforms will come down to the question of whether banning Flash apps and/or compiling Flash to Objective C effectively monopolizing applications.
I personally do not think so, but I am not a jurur.
As long as Apple permits the time-honored method of writing an application in C with #ifdef iPhone sprinkled throughout, there is no obstacle to writing one application that compiles for two or more platforms.
What they are trying to prohibit is writing one program that compiles for one platform (Flash) which happens to run on two or more mobile operating systems. They are not raising barriers to developing applications on multiple platforms, they are raising barriers to creating a new application platform that commoditizes their hardware by turning it into a rendering device on equal footing with its competition.
The difference between #ifdef and writing for Flash may seem small, but it comes down to information hiding. Flash insulates the developer from Apple's API. A FLash developer is free to know nothing about an iPhone or Android or anything else. He is a Flash developer. If Flash doesn't support some feature like detecting when the phone is shaken, the Flash developer may be blissfully unaware
A #ifdef programmer learns two or more platform APIs. Such a programmer is an iPhone developer. Even if they consciously try to avoid using features that are not present on all the platforms they target, they are probably aware of them and how much better their iPhone app could be if it used them.
I appreciate that you hold an opinion that Apple should be legally barred from trying to force people writing applications that happen to run on iPhone from being iPhone developers in the sense I describe, but I certainly can't fault them for trying.