(Sorry if there is already a thread like this, but a lot of them are pretty old.)

I'm currently using VB6 (have been for several years) and I write commercial apps, some of which are fairly large. Many rely on the User Interface and include some of manipulating of the VB controls since they are inherently old and weak.
I do not do database programming - no Access, no Excel or Word, etc.

However, I do use a lot of XML (msxml 4).

I also use DLLs and OCX's from partner companies - they all support .Net and C++

I'm trying to decide if I should migrate to VB (.net) 2005 or possibly Visual C++ (I have some experience in C but it's been a long time).

I've been reading a lot about VB6 to VB2005 migration and have seen a lot of pro's and con's.

So, here's the question(s):
Should I migrate to VB 2005?
If the learning curve is steep, should I just go to C++ ?

Thanks for your opinions.