Let me first agree with you by saying that managed C++ was a terrible idea and should never be used by any one, for any reason, because it destroys the single advantage of C++ over other languages. However, when Longhorn comes out, there will be literally no performance benefit using C++ vs C#. Longhorn is designed to be a managed operating system, so I've even heard that C# may be faster. As it currently stands, games that are well written C# is at worse 95% the speed of well written C++. That 5% would matter for a pro, but for someone just getting into came programming, the productivity gain is well worth it. And managed DirectX is much much much less of a hassle than unmanaged. Anyway, I'm not just saying this myself, I'm telling what I have been told by people who program much better games than me (some of them professionally). I got it at gamedev.net, a site with some tutorials and excellent forums for graphics and games. I'd definately encourage you to make an account there.
One last thing, do yourself a favor and learn the math and physics. It will make things much simpler for you. I suppose I can't force you to learn all the math that would be helpful before you start programming games, but a good working knowledge of the basics of linear algebra are a must. You should know how to work with matrices and vectors, and what dot and cross products are and why they are useful. It would help to know some basic numerical techniques (like Euler's method) for differential equations as well.