COM doesn't have a lot of value for kernel mode driver development either, but it's potentially useful for user mode drivers. DirectShow is COM, for instance, and there's even a light-weight COM analog used in kernel mode DShow filters.
There's a lot of code out there that is COM, and legacy code takes years or decades to disappear. But more importantly IMO is the fact that a .NET assembly looks like COM objects when used from C/C++, so I think there's still some value in knowing COM if you intend to keep writing C/C++ code.
If you plan to switch to C#, Java, or one of the dozens of other languages-without-pointers that (judging from the questions here a SO) the majority of programmers have adopted, then no, not worth the opportunity cost.