I too wrote database backends in VB6 around that timeframe (late 1990's) and am still maintaining them. My latest "re-install" of VB6 was Win7 Pro, the previous one was several years ago also on Win7. My biggest issue with this last Win7 install was that it was x64, and some of the VB6 (and windows) TLB's did not register properly. A couple of special tools I was using I had to "manually" install module by module. But VB6-32 as a development tool is still alive and kicking on Win7, and I suspect also when I finally migrate to Win10.
The sad part is that as others have said the "new" technologies don't tend to stick around like the older ones did, and Microsoft is one of the major offenders in this arena, although Google is becoming a close second.
I suspect .NET will be around for a few years more, just like so many previous Microsoft technologies, but only until their next greatest-ever invention.
So in relation to the original topic, there is good reason for older technologies to survive, they were the best available at their time, and in many cases they provide (almost) mission-critical applications that are serving their original design purpose, and the cost of re-working them into a new environment just for the sake of having them in that new environment in many cases is just not justifiable, the risk to the organization is significantly bigger that the benefit to be gained.
I recall many years back (during the cobol eras) when I was maintaining and extending applications in IBM assembler, for exactly the same reasons, an example being a very large mission-critical application for a cable billing system.
So these systems will always be around and we who are able to maintain them are getting fewer and fewer. Educational institutions don't teach these, heck even the SQL some places are teaching is crap when you get into the real world. More than once over the last few years I have asked a newbie why he did something that way, the answer has always been "that's the way they taught me" 🙁