XNA, pour faire de la 3D/2D, c'est de loins la meilleur introduction. Ensuite, il est beaucoup plus aisé de passer à OpenGL/DirectX.
De plus, le langage C# est le meilleur langage managé que je connais. Il est aussi lié à un IDE qui encourage énormément la productivité.
Personellement j'ai passé 2 ans et demi à travailler avec XNA et c'est de loins la meilleur expérience de programmation que j'ai eu(Ayant fait beaucoup de prog C++/OpenGL aussi).
@Paulop:
Comment peut-on reproché l'orienté objet à un framework C# ? (Le c# étant purement orienté objet) En plus, rien n'empêche de programmer en mixte de Data-Oriented et Object Oriented, ce qui est probablement la combinaison la plus utilisé dans les framework de jeux.