C++ is always good to know. Notice: C++ is a language while VC++ (6, 7 and .NET) is a development environment (IDE). What you learn with VC++6 won't be outdated. The windows programming class library MFC may be outdated, replaced by the .NET common library, but neither C++ itself nor the windows API will be outdated.

What is "system programming"? C++ is a very mighty language, and you can about everything you'll ever want to do (except writing OS startup code maybe). C++ programming can be nearly as abstract as VB (if you use the RAD tools of C++ Builder), or it can be extremely system-near (if you use DJGPP to create a DOS game). The strong part about C++ is that it is platform-independent (as long as you don't use system-dependent API like the WinAPI). If you have code that uses nothing but the standard library you can take it, compile it on a windows computer and on a linux computer and it will work.