На данный момент удалось продвинуться в изучении проблемы.
Пока остановился на следующем: если через dbDictionary.SetAt добавить Xrecord объект, то после коммита транзакции всё развалится, если же не добавлять Xrecord, то всё работает.
С точками такой проблемы не возникает, с полилиниями - стабильно.
Опять же, в цивиле 2015 и 2019 всё работает без сбоев. Проблема только в цивиле 2018.