Kirill2001, Вас вот за это "Teigha" на этом форуме сильно приветливо не встретят...
А так, для проверки типа объекта, совсем не обязательно его открывать:
if (id.ObjectClass != Rtm.RXObject.GetClass(typeof(Db.MText))) , а выяснив тип объекта,
можно его открывать не как Entity, а как Mtext или какие еще у вас там должны быть объекты
А и еще, нужно понимать разницу между СОМ объектам и .NET и если их смешиваешь, то делай это осознано.