Looking to the future...

I dont have a crystal ball, but we do have some insights.

Microsoft has said they will support the vb6 runtime until at least 2024
I believe. My guess is that it will continue to work fine long after that.

There are still developers coding in Cobol to this day. This is because there
is untold amounts of corporate software that still depends on these old 
code bases. Since vb6 developers were given no viable route for source code
upgrade, keeping the runtime running is a cheap fix. 

Realistically the runtime was built on top of standard Windows libraries to 
coding best practices of the day by the OS manufacturer themselves. If you 
ever read about the depths they used to go to maintain compatibility with 
3rd party software the outlook looks good.

I can understand them wanting to get away from COM for the dll hell issue.
The registration of components in the registry and the ability for them to
walk all over each other can be a problem. This is not helped by its complexity
of the registry keys and sparsely documented nature. Weird issues can arise.
Also as cool as DCOM is in theory..setting it up sucks!

For individual developers though, COM is rarely a problem. My experience is
that its awesome and works magnificently. Anyway the point I was going for..
is that COM is a core part of Windows, and is not going anywhere. It can not
be removed and will not be the reason VB6 stops working.

So what happens if there is a breaking change and vb6 apps no longer run on 
new operating systems? Honestly I am not sure that I care. MS has not had a
good direction lately. I dont really care about Windows 8 or 10 at all and
some of the things that they have been doing with their patches makes me not
want to patch anymore either. Hardening and being safe on an older system is
entirely plausible, but this is another conversation.

So again, what alternatives are there for the future?

Wine under Linux already has support for VB6 apps, including those that require
custom ActiveX controls. This will only continue to improve. I have even seen
reports that the VB6 IDE can be installed under Wine and will function normally.
(I attempted this, it installed but crashed on tool tip display). We have another
10yrs before we have to worry about this.

Another option, and one that I am looking forward to, is when ReactOS becomes 
usable as a full time desktop. ReactOS is a windows compatible clone that can 
run windows binaries natively. Its an amazing project. When it reaches prime time
I will probably ditch windows completely.

My last comment, is that I believe VB6 will become obsolete when there is a
fundamental shift in user interface design and what people expect. Just this 
week Occulus rift had its first consumer release. Hololense is up and coming 
as well. These technologies will likely have a profound impact on how we 
visualize and interact with data. In 5-10 yrs, after the technology costs 
drop and developers have had time to digest and invent ways for interacting
in this new medium, old GUI apps may be as unappealing and clunky as DOS windows
are today.

The bottom line, for the types I create (tools mostly) VB6 is still my go to
resource. I have no interest in flapping in the wind relearning the cool new 
language of the day for cred points. 

Until something better comes along, I am very happy where I am and deepening 
my knowledge and capabilities through my technology entrypoint of VB6.

Other languages that I would like to explore more include both D and Rust.

I am also very impressed with what the guys over at the free pascal and 
Lazarus IDE project have done with Object Pascal. 

There are also people working on writing a replacement stack for the VB6 runtimes
such as the vbRichClient by Olaf Schmidt

VB6 is still a rich environment, capable of a great many things.