Very balanced writeup. The only thing I disagree with is the quality of some of the apps... although I do agree they're not as good as some of the iOS 1-3 person shop apps, I think the big difference is that most of the small shop iOS apps are small companies, whereas WP7 is still in the early Android-phase where it is hobbyst working in the evening.
But the quality of paid apps, which are almost all games, is on par with the iOS top paid apps already.
I think games will be where WP7 will shine, Microsoft has the best game and media development APIs out there for any platform, and there are many many developers who've been building high quality games for Xbox and PC who could move to the platform a lot more comfortably than to iOS which requres OpenGL or to Android which sounds like a mess to have to deal with divergent hardware.
You are overestimating XNA. Most (almost all) high quality games for Xbox and PC are written in C++. It is even more likely that they could be ported to iOS or Android more easily due the simple fact that they allow native code. XNA would be a competitor to the popular Unity game engine which at the moment has a more competitive platform to build for (webplayer, iOS, android) and also offers a superior IDE while offering the same language support as XNA. In addition to that, UDK and the ID engine are also being ported to support iOS and Android. Feel free to point me to a list of high quality in XNA produced titles.
Good game developers are able to create games regardless of the quality of the tools. Its part of the fun to create impressive games with limited resources and tools.
Other than marketing the fact that Microsoft also created a successful game console and xbox live, I don't think Microsoft has any advantage here. Xbox live could be a key differentiator but only after a significant market share has been gained. I don't think people will buy a WP7 phone for Xbox live. Currently iOS offers the best games.
That is exactly my point, why develop for WP7 if you can work with the technologies you want for other platforms which also have a higher userbase?
However I suspect that some of the titles from companies such as EA or Gameloft are still written in C++ even though it is not supported officially by Microsoft. It is highly likely that they have some kind of early access to native code compilation for the platform.
Well, Android and iOS both use OpenGL ES and have a majority of the market between them. This will make porting easier between them than to WP7. I would not overlook the impact of marketshare on time allocation decisions.
The Unreal Engine is looking very impressive on iOS (Infinity Blade is amazing). Many developers are experienced with the Unreal Engine's API, which is at a pretty important level - perhaps more so than the rest of the stack.
I think the fees are 500k-1m or so to license the same engine for PC or console games. Like the Source engine, it's not cheap. There are other 3d engines available for iOS, but not of the same quality - if your alternative is to get your developers up to speed with one of those or write your own, the pricing might seem reasonable.
But the quality of paid apps, which are almost all games, is on par with the iOS top paid apps already.