I'll make a few quick comments on some of your questions --

Quote Originally Posted by John E
1) Is it advisable to try and "convert" existing C++ projects to C# or is this just making life difficult? Is it better to leave existing projects as they are and start using C# only for new projects?
This is something to look at on a project-by-project basis. I'd suggest looking at converting C++ projects to Managed C++ rather than going to C#. If you convert them to Managed C++, then you can link the pieces with C# going forward. (see your

Quote Originally Posted by John E
5) Is there any "obj" level (i.e. intermediate level) compatibility between the two? For example, could a C++ project use C# objects at all or not? Are the two in any way inter-mixable?
The executables and DLLs created within .NET are actually composed of Intermediate Language code (IL/MSIL). This code is completely compatible and thus, you can mix classes from VB with those of C# or Managed C++. You can even go as far as inheriting classes from one language using another.

Quote Originally Posted by John E
2) If it's possible to convert existing projects are there any tools to help automate the process?
There are definitely tools to convert VB 6 to VB.NET or C#. There are also tools to convert from C# to VB.NET and back. I've not seen tools to go from C++ to C# or VB.NET, but then I've not looked.