Right on. This is exactly why I started to actively avoid consulting gigs where I'd have to work with Microsoft technologies - whatever knowledge you gain has a shelf life measured in weeks, because they're constantly on to the next shiny trinket.
OK, 17 years ago. I learned Windows NT internals, and the Windows message pump, etec... Almost all of it still is useful today. Probably the only big discontinuity has been .NET, which has been going strong now for about 8 years.
All the technology is pretty much incremental built on top of those two. I find it more daunting to keep with video game controllers than I do software development technology, whether on or off the MS stack. Not that I know everything, but I've never felt like I'd wasted my time learning anything related to software tools.
Microsoft also has a habit of constantly changing the names and market positioning of everything, which can make it seem more mercurial than it is. (Not that they haven't had their share of truly ephemeral Next Big Things as well.)
I'm kind of curious... really what were the MS technologies that you spent more than 15 minutes on(reading a Dr.Dobbs article) learning that went poof?
I've learned over the years:
Win32
Visual C/C++
COM
.NET
C#
WPF
T-SQL
JScript
ASP.NET
Direct3D
Visual Studio (the IDE)
Windows Services
I literally can't point to a book on my bookshelf that is related to MS technology and say, "that was a waste".
ODBC and OLEDB are still pretty widely used if you work in the DB space. They just shipped a new version of ODBC last year. And given that ODBC has been out for nearly 20 years, I'd hardly call that something that went poof overnight. I probably see new OLEDB at least once a week.
ADO.NET is extremely popular still. I'd argue that its the most popular way to get data in the MS stack to this very day.
Hailstorm didn't go poof, it was never released. Passport actually still lives on to this day, but is called Windows Live ID. VB6 is the only one on your list that I'd legitimately say isn't really used much, but that line of VB lived for 11 years -- that's not exactly a short lifespan -- it may well out live Java :-)
And WPF doesn't appear to be on the verge of going anywhere. Visual Studio was just rewritten with it. Their designer tool, Blend, is written in it. They just built their new IDE for business apps with it. If you saw at PDC they announced support for fixing Airspace issues (a huge engineering task), SL support, improved threading, integrating new controls, among other things.
What happened to fail early and fail often? Just because they're a huge corporation doesn't mean they're not allowed to try to change the world with a new idea which might fail. They just have the money to try a bit longer before giving up than most companies.
I think Microsoft does chase a lot of new shiny things. But they're really giving what the devs are asking for. I know, I'm one of those .Net developers :)
I don't think ADO.NET belongs in that category. Even though it's not the primary method of data access in modern .NET software, to my knowledge everything else is built on top of it, and it's useful if you have some understanding of what's going on underneath the hood.
More than any other software dev I know, they seem to constantly be trumpeting that "this is a complete ground-up rewrite!" as if that were a good thing every time.