valtur1983,
Похоже ты пока не совсем понимаешь, что делаешь.
1. Что за вложенные транзакции?
2. При копировании копируются не только выбранные примитивы, но и связанные с ними объекты (слои, описания блоков, типы линий и т.д. и т.п). Ты должен проверять obj.Value на Entity и трансформировать только их.
3. Entity - это наследник DBObject. Поэтому преобразование (Entity)dbobj может не выполняться для слоёв, описаний блоков и т.д. Нужно проверять (dbobj as Entity) на null