In all honestly, I really think that anything which has the ability to make this list won't ever be doomed. It's really really hard to retire a technology. Look at COBOL. Everyone says that COBOL has met it's end of days and has been saying that for years and lo and behold, people still program in it, and there are a multitude of production systems running it.
He's another example, my first job out of college was a heavy Delphi shop. No VB and MS technologies are evil. It was clear that everyone in my area and most people around the U.S. were dropping it in favor of Visual Basic, or something more powerful like C++. I swore up and down Delphi was a dead technology and that Borland was going down the drain. That being said, it's clearly in use today. I was wrong. Popular technologies will never really die, or become obsolete, because of their ability to change and because people depend on system which are currently working (look at FORTRAN, I know of some physicists which still use programs written in it). Once a language/system gains popularity, there will always be a need for someone who knows it, and this means that there will always be a need for someone to improve. There are a lot of technologies that die, but that is because they were never popular enough to begin with.
Of the list that you gave, I would say maybe ODBC could be the one phased out, but with other legacy technologies, I think it is going to be a long time. You could maybe argue VB6 is going to be done away with, but I think it won't be long until someone (not MS) writes a new compiler for it and not necessarily revitalizes it's use, but extends it's life. There's too much written in it for organizations to just throw it away. People argue about things being rewritten, but how often does it successfully happen? The main mentality of people outside of IT is: "don't fix it if it isn't broken." That is going to keep technologies around for a long long time. We can say something is dead, but in reality they all will be around for a long time.