It is ridiculously easy to create simple GUI apps with it, its limitations force you to write straightforward code (otherwise it becomes too much of a hassle and you go to another language) and provides a very good debugging environment which allow you to inspect and modify a program as it is running in a graphical way.
It is basically an extremely simple scripting language attached to a GUI designer (literally, originally VB was supposed to allow different languages to be used with it, but the feature was dropped).
Also it is instant fast on modern hardware.
Most people who have a grudge against VB1-6 have it either because they have no idea what they were talking about and are just parroting others (to be honest, i did that at the past), or were exposed to it via a project that abused it in ways that it wasn't meant to be (ab)used.
A while ago i made this little sprite editor in VB5:
It isn't anything special but it is actually quite useful if you're making low-res pixelart 2D games and personally i had fun making it (the first version also took me only a weekend although i added a few features since then).
Having said that, i do not expect Microsoft to bring back VB6 nor release the source code since now they seem to focus away from the desktop and VB6 is a full 1005 desktop technology.
To my mind, all of the points you listed as an advantage you can also find with C#/VB.net using WinForms. I've also never found WinForms or even WPF (most of the time) to be sluggish on even reasonably modern hardware.
What specifically do you find easier in VB6 than VB.net/C# when writing desktop apps, in particular in relation to WinForms?
You say "inspect and modify a program as it is running in a graphical way" - do you mean that with VB6 you could alter the UI as the application was running? If so, that's something I don't remember but I agree it could be very handy!
I've mostly had coworkers that had fond memories of VB6. Personally, compared to what we have now, I think it sucks. I'm no parroting. I suppose there's no way for me to know whether I "have any idea what I'm talking about". The language itself is terribly constraining. No try/catch. No generics. Crazy 1-based collections. No type-safe lists, just fixed size arrays. No function references. And so on.
Fun trivia: The first version of UnrealEd, the editor for the Unreal Engine 1 (used in Unreal, Wheel of Time, Rune, Deus Ex, UT99, Clive Barker's Undying etc.), was written in VB (of course, it used the renderer via interop).
It is basically an extremely simple scripting language attached to a GUI designer (literally, originally VB was supposed to allow different languages to be used with it, but the feature was dropped).
Also it is instant fast on modern hardware.
Most people who have a grudge against VB1-6 have it either because they have no idea what they were talking about and are just parroting others (to be honest, i did that at the past), or were exposed to it via a project that abused it in ways that it wasn't meant to be (ab)used.
A while ago i made this little sprite editor in VB5:
http://runtimelegend.com/tools/mseditor/
It isn't anything special but it is actually quite useful if you're making low-res pixelart 2D games and personally i had fun making it (the first version also took me only a weekend although i added a few features since then).
Having said that, i do not expect Microsoft to bring back VB6 nor release the source code since now they seem to focus away from the desktop and VB6 is a full 1005 desktop technology.