COM and DCOM might be outdated, but they are still in common use. COM+ (and previously MTS) expanded on both COM and DCOM. For me, it has been rare to use DCOM without COM+ over the last few years. The COM+ features that replaced MTS are very strong and provide a great environment for creating client/server and n-tier applications.
That being said, .NET is bringing a lot of new ways to provide the features that COM and DCOM were providing, while at the same time improving on them and eliminating some of the problems and limitations.
If I were starting programming right now, I would ignore COM/COM+ and focus on .NET (for a Microsoft environment). However, in the work I do I am interfacing with legacy applications that use were written in the days of MTS, and are purely COM/MTS/COM+ applications, so I have one foot in each area (COM+/.NET), and a lot of developers are dealing with this for now. In 2 or 3 years there will be much less need to know COM/DCOM/COM+, so unless you need it for work.
One thing: At least for the time being, .NET uses COM+ for some of the features of Serviced components such as transactions, object pooling, decoupled events, and so on. This will also disappear sometime over the next few years, but it is still needed for certain things today.
Also, Web Services and SOA are taking the place in architectures that COM+/DCOM were used for.
Have fun
Woody Z
http://www.learntoprogramnow.com