I've always enjoyed coding with MS build chains. Coding the XBOX360 is so straight forward as is making Win32 apps that use D3D. Same with the Windows Mobile devices. It's a breeze to write and debug apps with Visual Studio.
However, hardware support is another story. They introduced Direct3D Mobile in Windows Mobile 5 but because WinMo up to now has been something of a wild west, some devices had D3D drivers while others didn't. And the ones that did weren't the best. Very few did OpenGL ES. You could however, quite easily get access to the linear frame buffer and just write your own rasterizers which worked quite well!
I've talked with some WinMobile insiders and they told me that WinMo 7 would be way stricter when it came to hardware and device variance. OpenGL ES would be the norm and would replace Direct3D Mobile.
If they can sort the hardware issues and force manufactures (HTC you listening, you ass clowns) to implement quality drivers, they could very much regain from 4th spot where they are now!