I program in VB6 almost exclusively. It's a wonderful language that is exceptionally easy to program in, and while I do wish VB6 had true pointers (although VarPtr is a decent substitute) and object inheritance (although you can nest objects, which is almost as good syntactically), the benefits of programming in VB more than outweigh the caveats.
One of the great strengths of VB6 which is practically unheard of in other languages is that I can execute my code in the IDE, and break the execution at any time, change code, even add variables and entire routines, and the program doesn't even need to recompile.
Mind you, the array preformance of VB is dismal - about four times slower than VC++ 6.0. Thus, when I need to do array-intensive operations like software alpha-blending, I turn to C++, compiling to DLL's that I can access through VB. However, in all other instances, the preformance of VB is comparable to VC++.
My current project, an isometric game that looks nearly identical to Diablo 2 (and can do some of the same palette-based effects in realtime), runs at 180fps in windowed 640x480x32, and 330fps in fullscreen 640x480x32. Note that my test machine is an 800mhz P4 with an X300 graphics card, so this is hardly a state-of-the-art machine. Of course, these results are due to the fact that I've been programming in VB6 for four years now, and know the language pretty much inside out.