You mentioned in your "Cons" that MS need to open things up. I think you're forgetting that openness is a two-way road. First of all, they need to have documented APIs for WP7 developers to be able to develop apps for those platforms. Microsoft have shown what *can* be done with their gaming platform. Now it's the responsibility of these other platforms to provide similar apps for WP7 or at the very least make sure an API is available for 3rd parties to do so.
In my opinion, the biggest failing of WP7 was with the browser. I was at the BizSpark event and when they said the browser was a "hybrid between IE6 and IE7", I was in shock. Compared to the Android browser and Safari, which both have HTML5 capabilities, MS have put themselves at a severe disadvantage. I think it's very appealing to developers to write mobile web apps that'll run and behave the same across different mobile web browsers, but that means all of them must be on an equal footing. I know they said IE9 would be in a future release, but it seems to me like they may be shooting themselves in the foot.