Also, the fragmentation argument is weak and old, I won't bother refuting it or answering it here. APIs are backward compatible. If you target 1.6 you work on 95+% of devices out there, etc, etc.
Heh, I would say Apple's refusal to accept Netshare, PDANet, oh any other tethering app, etc pretty well shows that they won't accept tethering apps. I'm kinda shocked that this is news to ... anyone really.
My personal experience with Android apps (Moto Droid and now HTC incredible) is that a decent percentage of apps (mostly (but not exclusively) games and odd things like "LED Flashlight Strobe" type stuff) do not work universally across all devices. Reading the comments on some of these apps supports my personal experience, so I think there is still a general problem with any random app on the Android store not offering a 100% consistent or "functions as expected" experience across all Android devices.
I believe that tethering is native to the OS, I remember doing some simple hack on my first 3G iPhone that enabled it for a while until a software update wiped it out. Other carriers (non-US) support it (a quick link I found re: Rogers: http://scilib.typepad.com/techreviews/2009/06/rogers-iphone-... )
So, your tethering restriction argument seems kind of straw-man to me. Additionally, it's not surprising that there are some bottom-feeder (fart) apps. Of course, the "fart-machine" apps are hardly the majority of the eco-system, but even so I could pretty much guarantee you that the fart apps would work 100% of the time on iOS, and probably 50% of the time at best on Android. As the app gets more complex, the probability of it working properly on all supported iOS devices, and NOT working properly on some subset of Android OS and hardware increases.