As I know this site still generates quite a bit of traffic - I thought it would be a good place to update my current feelings on C# game development. As before I think it's great :D
But I've moved away from DirectX as my API of choice. I don't have Vista (or intend to get it anytime soon.) so I'm not going to be developing under DirectX10. DirectX 9.0 pixel to texel mapping just doesn't seem to work for me. I can get get pixel perfect mapping - but I cannot get pixel perfect mapping once I started translating the positions of my quads. This has been a sticking point for far too long!
Mono is the opensource implementation of the .NET framework including C#. Using Mono and OpenGL - games can be written with C# on any platform! Personally I'm using visual studio 2008 with the Tao framework. (OpenGL maps pixels to texel from the topleft hand corner - so crisp 2D artwork just works (as does DirectX10 :D))
If you want a quickstart about how to set this all up - try here.
The tutorials here are still useful it's just the graphics calls will now be different.