I’ve run into this too. I normally work in MVC for web and MVVM for Silverlight/WP7. So for me, it was a struggle to sort of give up some of the OO and reusability ideas that I’m so used to.
To put this in perspective, I talked with my manager. He used to do old-style embedded systems and he sort of explained that embedded programming is almost the opposite of “regular” programming that we do nowadays. With embedded development, it’s all about efficiency, and writing one-off things that are custom for that particular device. Even though NETMF isn’t a real-time operating system, for our purposes it “pretty much” is, and follows some of the same traditions as that style of coding.
This is obviously because of program size and severely limited resources. With that said, I’ve run into many, many things so far in the .NETMF and the in the GHI libraries that are clearly not OO-minded, but for this kind of development, I gather that this is OK, because this code needs to be small, and efficient.
For a couple of my projects, my intention is to expose some web services that are OO-friendly - so from that service, outward - will be easy to program against with modern technologies. Meanwhile, from that web service on inward to the NETMF device will all be small, efficient, mostly non-OO code.