Just to clear up a few misconceptions floating around this thread- Adobe Flash CS5 will be able to publish native iPhone apps, but Flash Player will NOT be included on the iPhone in the near future. Flash CS5 accomplishes iPhone app publishing because Actionscript 3 and Objective-C are both object oriented programming languages and the difference between the 2 are mainly based on syntax. In other words, one language can be translated to the other, which is exactly what Adobe has decided to build into Flash CS5.
Secondly, the iPhone app approval process, although much-maligned online, is actually quite efficient for the vast majority of developers. People just like the belly-ache. Somewhere between 90 and 95% of apps submitted to the App store end up in the app store within 2 weeks. And most apps that are initially rejected are approved upon resubmission after bug fixes. There’s nothing @#S% up about the approval process, it’s just become very trendy to complain about it.
That being said to answer your initial question, learning to program will be a massive undertaking, no matter what platform you choose to learn on. Base your decision on your commitment and possible upside. iPhone has a larger install base and a much more established App Store, but Android supports PC development, whereas currently you can only download the iPhone SDK on a Mac. Android is also much more flexible and is more than just a phone OS. It is available on every phone carrier, except AT&T and on many more devices. So your reach is potentially wider with Android, even though there are more users on iPhone. This also presents a challenge as the iPhone is a controlled atmosphere. You know exactly what device your app will run on and there are no variables, such as screen resolution, processor, available memory, etc. It’s really a toss-up, but the nice thing is once you learn to program, if you’re any good, you can pick up more languages fairly quickly.
Good luck!