It's very easy to write very bad, unmaintainable code in VB6, and harder and harder to find developers who can maintain it.
I fear that the majority of companies still using VB6, Classic ASP, Windows NT 4 or 2000, and other legacy "code" will eventually learn why "it ain't broke" was not a good idea. These are typically the same companies who do not document their code well, or even lose the source code, and continue to take no action because it "ain't broke".
In the meantime, they are slowly losing the knowledge necessary to fix the old code or to port it or rewrite it. They will need to pay more and more money to hire good people to maintain the code, or else pay less for those who can't find work elsewhere and will work wherever they can get paid.
And even in static industries, nothing is static forever. They'll eventually have a customer who wants web services added, or a competitor who has exposed their functionality on a web site, and they'll want the legacy code to compete with more modern requirements. And then they'll find out why the legacy languages were largely replaced by what came later.
I should add that I've seen one very good web-based application written in VB6 with XML, XSLT and JavaScript. The largest problem they had was that some of their modules had become too large. Not a very big problem. But, having seen that application, I know why the exception is not the rule - it took some very smart architects to create a flexible, maintainable and well-documented architecture that this company has been able to build on.
Most VB6 applications I've seen aren't like that.
I also want to add that I have not included COBOL in this list. There's so much intertia for COBOL that I don't expect a lack of COBOL expertise until next century. It still suffers a bit from lack of knowledge, but in the other direction - how many people know what a "copybook" is, or could help someone figure out how to serialize it? How many people have any idea how to call a web service from a COBOL program? Not that it can't be done, but most of the people who know about serialization or web services don't know anything about COBOL, and so couldn't help.
Code that never needs to changed, looked at, or even thought about, is code that really "ain't broke" in my opinion. Write it in Assembler without comments, for all I care.
Any other code needs at least to be changeable, readable, and understandable, not just today, but tomorrow, if you plan to have a tomorrow. Otherwise, you'll find a day when nobody can understand, read, or change the code, and you may some day need to do so.
Note that I suggested that adequate documentation is as good as keeping the code up to date. It may be necessary to include the manuals for VB6 in the documentation package, in order to train developers who have heard of VB6 only from their grandparents, but it should be possible to document the code well enough that only time is wasted when it needs to change.
It could be done, but in many cases, it won't be done.