Potrzebujesz SDK, które dostarcza także emulator urządzenia WM6, bo bez tego, na fizycznym sprzęcie, jest uciążliwie. Z WM6SDK fajnie zintegrowany jest Visual Studio (ale od strony .NET, nie wiem jak to wygląda na poziomie kodu natywnego - zapewne tak samo - przynajmniej tak było w wersji 2005, 2008 nie oglądałem jeszcze), które jednak samo w sobie jest płatne, o tyle można uzyskać do niego dostęp na przykład z MSDN AA, o ile Twoja szkoła lub uczelnia (jeżeli jesteś studentem/uczniem) w tym programie uczestniczy.
Darmowe wersje Express nie umożliwiają tworzenia aplikacji dla Windows CE/Windows Mobile.
Do tego:
http://codeguru.pl/forum-37.aspx
http://www.microsoft.com/windowsmobile/developers/default.mspx
http://msdn2.microsoft.com/pl-pl/windowsmobile/default(en-us).aspx
http://msdn2.microsoft.com/en-us/library/ms838215.aspx
http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage
A co do darmowych narzędzi to na pewno jest coś takiego jak to eMbedded Visual C++ 4.0:
http://www.microsoft.com/downloads/details.aspx?FamilyId=1DACDB3D-50D1-41B2-A107-FA75AE960856&displaylang=en
które było wspomniane, że się nadaje do pisania dla Pocket PC 2002, 2003, 2003SE, ale nie da się wykorzystać elementów wprowadzonych w Windows Mobile 5.0 i 6.0.
A tak jeszcze to popatrz w poszukiwaniu różnych blogów (w rodzaju http://www.christec.co.nz/blog/), zastanów się nad zakupieniem http://msdn2.microsoft.com/en-us/windowsmobile/bb264329.aspx oraz pomyśl jeszcze raz nad .NET zamiast "native development".