И вообще проще просканировать BlockTable на предмет нахождения в ней BlockTableRecord, соответствующим внешним ссылкам и для них выполнить DetachXref.
Насколько я понимаю, нужно будет ещё дополнительно проверить, что эта внешняя ссылка не является вложенной в другую.
Кстати, а возможна же ситуация, когда внешняя ссылка вложена в блок чертежа? Тогда, получается, простая итерация по объектам модели или листов недостаточна. Надо ещё внутрь всех блоков входить... Маловероятно, конечно, что кто-то будет внешнюю ссылку в блок пихать. Но чего только не встретишь в реальности