There are several bad habits that people pick up.
The major one I see is total lack of error handling. A VB programmer will use "on error resume" on everything, then move to C and do nothing. I admit that Java has the same issue (.... throws Exception), but at least the program generally ends and the programmer realizes that he's an idiot.
False. Merely having a function in that language that lets users jump errors means absolutely nothing; most VB6 coders I know have enough sense to debug their errors instead of ignoring them. It's just something you shouldn't use, like voids.
I see plenty of VB programmers who don't handle errors properly, who just stick "on error resume" if they have one. Even I used to do that all those years ago. Half-assed error handling is so very tempting.
And wtf @ voids? I'm not sure whether you mean void functions or void* pointers, but they are both useful. Lately I've gotten into the habit of making most of my void functions BOOL so that they can indicate errors, but void still has its place.