Not sure how I missed this earlier, but there's a version of C# that runs on the Lego mindstorm brick. Or, to be a little more correct, this group is building two things:

The first one - which is working now - is a tiny .NET runtime for the mindstorms brick. You create and build your project in VS, copy it over to the brick, and it runs.

The second one is a project to take .NET IL and convert it to native code, so that you could run on the microcontroller without the overhead of the runtime.

I'll be playing with this in my copious amounts of free time.