Мне кажется, что при озвученной постановке задачи можно не трогать текущий чертеж, а все действия производить с новым чертежом. Соотвественно ничего "откатывать" в текущем чертеже не придётся.
Тогда придется долго и нудно чистить целевой чертеж от ненужных объектов, потому что в вертикальных решениях есть неразрывная динамическая связь между объектами и при копировании нужных объектов будет цепляться куча ненужных. Причем, я даже до конца не знаю размеры этой кучи...
Я имел в виду CommandFlags
Флаги посмотрел, но отвечающего за сохранность чертежа не обнаружил. Возможно Вы имели в виду флаги блокировки документа, но они его блокируют от изменений другими командами, а не от выполняемой.
Спасибо за консультации! Как время появится, переделаю программу с целью избавления от метода Abort. Попробую вручную удалять создаваемые объекты перед завершением транзакции.