C# is, for all intents and purposes, a cleaner version of C++, one which I enjoy far better than the sometimes inane C++ ways. One can be much more productive in C# due to its cleaner syntax and the .NET base class libraries, which extend far beyond the MFC available in Visual C++. Without knowing the software you intend to develop it's hard to give you an entirely educated answer, but I can say with comfort that C# is likely to be the more intelligent choice.
Also take note that any C++ code developed in Visual Studio .NET can be compiled, without changes, as either unmanaged (native) executables and libraries, or managed .NET assemblies. This is a huge selling point for developers switching from Visual Studio 6 to Visual Studio .NET.