I learnt the Win32 programming model so that I could use the original Embedded Tools 3.0 to create native C++ ARM Windows Mobile 2002 programs.
It was a long hard slog, involving studying the shell "Hello World" program as created by the project wizard, and then trying to figure out what the hell was going on. Embedded C++ 4.0 came along later for WM2003. The accumulated skills could then be used later in Visual Studio, for creating Win32 PC programs, and being able to port applications from one platform to the other, in either direction!
Microsoft have made a total mess of the transfer to Phone 7, with the complete change of programming model, being one of the most crass moves they have ever pulled. Phone 7 was too little, far too late which allowed the opposition to run away with the advantage. Microsoft will never get that back.
Windows CE and Windows Mobile are still good solid operating systems, tried and tested, even if they are a little long in the tooth. Win32 programming may be considered very old hat these days, but the programs run like a bat out of hell.
Android is also pretty stable, being based on a Linux core, and it's improving, but to learn Android development means starting from scratch, almost from the "Hello World" example above. Do I really want to start all over again? Maybe, mañana........ Fortunately, there is not much difference between C# and Java code, so the transition may not be that painful.
Update: Currently studying some of the stuff in the Android SDK........ At the "What the hell does this do?" stage again.
Windows Mobile lives on as Windows Embedded Handheld, but this is now primarily for line of business devices.
Have look at the current WinMo devices sold by Expansys here in the UK
Update: WinMo 6.x has been dropped as a separate category, you have to specifically search for Windows Mobile. There is the HD2/HD2 Mini and some rather expensive near indestructible rubber armoured devices.
How long before HTC drops the HD2?