Drunkle, I need to get off this board. I think I'm addicted. BUT, to answer your question.
There is a huge difference between mobile developers and enterprise software developers. Different knowledge, different experience, and probably different skillsets.
Mobile developers: designs with the mobile constraints: power consumption, memory footprint, lousy network,etc.
Enterprise developers: deal with designing for scalability Y, response time X, 99.999% availability,etc, an enterprise data model that will last over time,etc… The software business has changed alot for enterprise software developers. You use to only do DB work if your were the DB guy, or only write code that fits in an app server or only do the scalability stuff. These days, most people who are in this business and are the top guys can really do it all top to bottom, or at least tell others how to do it top to bottom from frontend all the way to the data layer. The flip side is, most enterprise developers would end up blowing all memory and storage resources if you let them develop mobile software, because they wouldn't be use to those constraints on the mobile.
It's quite funny. When I look at someone's code, I can usually tell if they were ex-mobile developers or ex-enterprise developers. The former's hello world program is complete unreadable. The latter's hello world program contains 15 objects to do it.
Microsofts mobile platform is primarily business focused, and as such will never have the same bite as platforms that are consumer oriented frankly. Pocket pc's don't have connectivity unless you're in a wifi area and do not have location based capabilities.