If you did things properly (MVP! remember that?) it was quite maintainable. I still know of several VB apps still in service.
The problem is "properly" is surrounded by a lot of people who slap stuff together, reinvent the wheel (NIH syndrome) or just plain don't know how to program.
I shudder when I look at old VB code... and thank God that I have VS2013, resharper and C#.
I think the issue people have is "it's never as good as it used to be". You remember the good, forget the bad and glorify what used to be the pinnacle of technology. Windows 75. XP. Blackberry. Palm. OH WHY CAN'T THEY HAVE JUST LET US STAY WITH PERFECTION!!!
Sorry... Let me get off your lawn before that becomes an issue as well. :)
I have an i7, 16 GB RAM machine (with a 7,200 RPM HDD though), and when I had Resharper running Visual Studio 2013 would take 10+ seconds longer to load and lag horribly every time I opened a large class.
I tried all of their repair tips, but ultimately I think it it is just that laggy and slow by its nature and drags Visual Studio down with it.
I just couldn't justify the $149/year (effectively, due to the way upgrades work) cost. Plus Visual Studio 14 CTP adds many of Resharpers features natively and without any lag at all.
Part of it is probably that the computing world has become more complicated: A significant share of developers have left Windows, and clients want to play around on their iPads and Samsung tablets. It was much easier to be a "perfect" dev environment when absolutely everyone was running Windows.
The main problem with VB6 was the modules. Modules were "any code here is thrown into the global scope" areas. Worse still they would execute with the caller's context, so you could mix in things like form logic (which would break if the form wasn't the caller).
This sounds great to newbies: "Ohh nice I'll just write a bunch of helper procedures/functions, throw them into a module and use them all over!"
However as projects grew so would the global scope of the application. You then have module function A which calls procedure B, and so on. So when it comes time to refactor some of this global craft into nice streamline classes it is pure hell as the application was never written with that in mind.
MVP in VB6 is largely a myth. I've never seen a legit VB6 application written in that style, and I've only seen it in context of articles talking about how things SHOULD be done. You want something like MVP? Then pick up a framework which enforces it or it won't happen.