Actually, that is never going to happen. Simply compiling to native does not make you suddenly all efficient and fast. The language design, constructs and semantics play a large role in the output performance. If you take implicit decisions and provide high level abstractions that you cannot get away from, then you're done. And there will always be places where you need to get the last bit of performance out of the machine. C++ is unique, nothing will ever replace it if it doesn't keep the same spirit.
This is great news if Microsoft is going to move in this direction. I talked to Anders H. about natively compiling C# and adding back memory management.. A lot of C/C++ programmers enjoy the basic clean syntax of C# and its base libraries. I was discouraged to hear all this native C talk coming from Microsoft. Who wants to go backwards in productivity? Lets just take C# and compile it right down to the metal and all this talk about C/C++ being faster goes away. With .Net going away C# calls just call native api's (abstracted with metadata). So now just have it compile to native (ARM or x86) and we will have a kick butt development environment for phones, pcs, and tablets. This effort can then also benefit the embedded world where they start moving off there old style of programming with header files and #defines that make an ugly implementation to a cleaner C# implementation once compilers catch up.