1) Regardless of whether or not Microsoft is planning to, Mono already has an "Ahead of Time" (AOT) compilation option, converting C# to native code at compile time. Both Mono and Microsoft's implementation will JIT-compile C# to native code at runtime as well.
2) C# is already being used in AAA titles such as The Sims 3, including on consoles. C# is unlikely to outright "replace" C++: There's no practical reason to throw out existing codebases if they work well to rewrite them in C#. There's still plenty of C floating around which hasn't been replaced with C++ to this day, and a lot of C with a minor splattering of C++ as existing code has been updated and modernized as needed, rather than replaced wholesale.
tl;dr: C# is viable to use today in AAA titles, but languages replace each other at a glacial pace which is quite difficult to predict or speculate on in a worthwhile manner.
If you're interested in mono or ahead-of-time compilation, I recommended reading: http://tirania.org/slides/AltDevConf-2012-Mono.pdf