Не понятно что ты имеешь ввиду под словом могильщик.
COM это решение для создание повторно используемых компонентов, использующееся в языках, генерирующих так назваемый Native код (С++, Ассемблер)
Код .NET это промежуточный код, работающий на платформе .NET (типа виртуальной машины в Java), при её разработке были учтены многие вещи, которых очень не хватало.
Работать с COM в .NET очень просто, т.к. работаешь не на прямую а через прокси обьекты, причем просто как использовать COM, так и создавать COM сервера.
Резкого перехода с COM куда-либо и не будет, слишком много кода уже написано, именно поэтому в .NET настолько удобная работа с COM.
Вся винда построема на COM, не думаю что её скоро смогут переписать под .NET