@Rei_Ayanami
i also just started dev in WM,for WM 5 and below we have GAPI, more info here : http://gregs-blog.com/2008/01/11/microsoft-drops-gapi-replaced-by-mobile-directx-my-thoughts/

for 3rd party GAPI replacement we have Pocket frog,Pocket Hal : http://www.droneship.com/wiki/index/

and commercial engine edgelib which support cross platform pc,wm,iphone

you can check out http://www.pocketmatrix.com/forums/index.php ,it's a small community for WM game-dev

for language wise,it's like other device,we can use asm,c++,c,basic,.net(c#),

Basic : Basic4ppc,NS Basic
c++ : eVc++ - http://blogs.msdn.com/windowsmobile/archive/2004/05/01/124620.aspx and http://msdn.microsoft.com/en-us/library/ms838188.aspx

there is a gcc port for arm but i forgot where is the address,just check sourceforge..

pascal/delphi : lazarus for arm - http://www.lazarus.freepascal.org/ , nightly build - http://www.hu.freepascal.org/lazarus/ search for win32 -> arm wince

misc : for custom rom you can get from http://www.xda-developers.com/ :D,the headache is to choose the most stable one

hopes help you,any further question just p.m me cause this topic already too much OOT lol