It depends entirely on what you want to accomplish. You are right, C++ and VB are two completely different languages and have quite a few fundamental differences (managed vs. unmanaged being a major one that comes to mind...). That said, if you are just doing some basic windows programming or web development (in ASP.NET) I would stick with VB.Net, there really isn't much reason to struggle with trying to learn C++ for that. If you are simply wanting to learn or are wanting to do something that necessitates insane performance, than you probably want to explore C++. It really depends on what you are wanting to do with it. (That's my opinion though, I'm sure you'll get a variety here :-) )
Edit: Based on what you said, if you want to do something that necessitates C++, then you really don't have much choice. Java is syntactically similar to C++ however they are by no means the same. Some of the biggest headaches (in my opinion) and gotchas associated with C++ stem from having to manage your own memory which Java takes care of for you. I wouldn't chose a language based on syntax alone, that isn't nearly as hard to learn and wrap your head around as some of the idiosyncrasies of the language implementation itself. As an aside, if you are wanting to do iPhone apps, check out Titanium Appcelerator which allows you to write iPhone apps in HTML5/Javascript and then translates that to native code. That would allow you to leverlage your javascript knowledge without having to learn a new language.