I have been advised in the past to avoid the .net framework when developing for WM unless absolutely necessary.
this is apparently due to the fact that the .net framework loads quite a lot of dll's and thus has a large memory footprint (obviously this is mitigated to a certain extent if there are other .net apps running that share assemblies) - resulting in rather poor power usage.
also the jitting and house keeping that takes place (out of your control, at undefined periods of time etc - if you move a lot of memory around this may become an issue) - on lower power devices like pda's this constant messing around in the background may become noticeable.
it is however considerably easier and faster to code in .net.
if:
- you consider 'quick-wins' to be more important than conscientious efficient code or
- you dont care about battery life or
- your app isnt performance sensitive or
- you dont know how to code with native languages
- you dont care about open standards and compliance
then go for .net.
.net compact framework is a subset of the desktop version of .net - thus certain features and aspects of the framework are unavailable.
if youre just starting out i recommend .net - if youre developing a commercial solution etc i recommend the use of c/c++.
hth.