My biggest problem with VB was inconsistency. There were multiple flavors floating around with subtle incompatibilities, so you couldn't always reuse code without modifications. Also, it did some weird things with types. Like error messages along the lines of "Type mismatch: expected string, but got string."
If VB6/VBA weren't coupled to the god awful IDEs and completely unversionable/patchable binary formats of their applications, it would be a pretty decent programming language.
It's persisted - absurdly - in spite of those crippling issues.
The VB6 IDE was Ok for 1998, but 1998 was a long time ago.
I still use VB6/VBA to get shit done, but only because I have a bunch of code & tools I've already written in or for it. I can see how it would be pretty useless to most people.
Registry-free COM has solved all of the versioning issues for me.
Language-wise, I find it's limitations to be its strength - kind of like ouilipo for programming.