In April of 2003, ISO ratified the standards as ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR). Trusting Microsoft is not an issue as there is no legal undo button to open standardization.
C++ is an excellent language to learn because it's the current industry standard. C# is an excellent language to learn because Microsoft is going to push it as the industry standard. Even if they don't succeed completely, it will be widespread.
C++ programs can be faster than C# programs. Then again assembly language can be faster than C++ program wise. Development time for C# is faster than C++ but programs can be (max) 20% slower. I'd also suggest that C# has a nicer learning curve and that programs will have far less runtime errors. C++ has a nice range of supported tutorials; you can find several books specifically geared toward developing games in C++. Though C# has the same potential, you'll have to work harder to get the necessary information and instruction.
If anyone ever tells you that language X is the best then they're incorrect. Imagine a group of construction workers sitting around arguing whether a hammer, screwdriver, or handsaw is the best tool or a group of mathematicians debating on the merits of addition verses multiplication. My situations are wandering into the realm of the absurd but the point is a valid one. A programming language is a tool, each has their strengths and weaknesses, and while the emotional tie many programmers develop toward their language of choice is romantic, it often provides a stumbling block for those in search of informed but unbiased opinions.