проблема в строчке:
pML->setArrowSymbolId(ind, ArrowID);
в момент когда mode->regenType() == kAcGiSaveWorldDrawForProxy - ошибка из вылет и программы
Думаю, что проблема не только в этом. AcDbMLeader - это достаточно сложный объект, который в значительной степени зависит от рабочей базы данных. Поэтому такие вещи, как создание/удаление его внутри метода subWorldDraw ни к чему хорошему не приведут.
Я бы рекомендовал создавать этот объект AcDbMLeader в конструкторе MLeader, модифицировать его в методах у которых assertWriteEnabled(); а в subWorldDraw просто выводить готовый примитив.
Или вообще заменить это всё на вывод более простой графики без использования AcDbMLeader.
Кстати, а зачем pML->close(); для объекта, который не в базе данных???