Ah, coming from your mainframe/procedural background, C++ is going to be something completely different. C won't be too terribly lot a stretch, but I wouldn't mess with C, go straight to C++.

The big difference is Object Oriented. And this is why VB is not a good language for commercial use, it isn't OO.

Aside from that, VB takes more memory than it really needs, and you can not port a VB application from one platform to another. I also don't think it does multithreading very well (if at all), but I haven't really tried.