I'm .NET developer too. I would have loved to make .NET Apps for Windows Phones, but 1 year ago their market share wasn't quite well. There were (and still are) many Windows powered Smartphones ouf there, the only catch so far is: Most of that phones are used by business men and with exception of a few apps and features (Mails, Exchange, Synchronisation) there isn't much this people need. Most of them even rarely use their phones to browse. Using of apps is even lower.
So there are actually 2-3 things you need to consider when deciding:
a) What kind of audience you're looking for?
- Windows Mobile: Business people mainly
- iPhone: iPhone is a mix of business and normal consumers (normal people who also like to have games and some more or less usefull appss)
- Android: mainly consumers. Currently Android isn't the best phone to chose for a business man. There are plenty of apps which professionally aim for the business people
b) Do you want to make money with your app or do you want to make it free (or ad-powered)?
- Paid apps: Currently, as much as I hate to say it, it seems the iPhone/iOS is on the lead there. Not only cause they have more users but also because iPhone users tend to spend more money on Apps than Android users do
- Free/Ad-powered: For free/ad powered apps, Android is a quite good choice. iPhone should be equally good choice, even though there are more rules for apps publishing on iPhone
- Windows Mobile kind of feels of here, due to it's audience. Not many people are using apps there, as most of them really just use it for contacts and synchronisating with their exchange server. No internet users = no ads income and same for paid apps
c) Language preference/accessibility?
- .NET: Windows Phones wins of course, as you're most comfortable with that language. Dunno how much of the phone features you really can access with the compact .NET Framework
- Android/Java: Out of the 2 remaining languages, Java is the closest to C#. If you know .NET well, you shouldn't have much problems in Java neither (some things are different, but mostly is pretty similar). Also you won't have to take care about reserving and releasing memory as Java uses GC too, like .NET. From accessibility, Android allows the apps most access to the hardware with least limitations.
- Objective-C: Imho the most complicated of the three, mainly due to it's close affinity to C/C++. And as far as I know the iOS Api is quite restricted (compared to android)