Well, C#, although a descendant of C++, is a very different language. C++ has many important reasons to be there. Mainly, it is the main bridge between unmanaged and managed code, and think that most of the internal code written within Microsoft itself -as well as most of the packaged software vendors- is C++.Depends on the market
Most VFP centric developers are not working the C++ market.
It would be very expensive and FAT for SW companies to rely on C++ for the market we're in.
Imagination is more important than knowledge