.Net API более совместим, чем ActiveX, но есть некоторые различия.
Вы всегда можете использовать Reflection для вызова функций (вызывать их по имени), но будет много проверок, и ваше приложение будет очень трудоемким. одинаково реагируют на все версии.
Лучше всего (по крайней мере, я бы сделал) создать класс-оболочку для каждой функциональности, которую вы хотите. Например, я бы создал класс «MyCircle» для манипулирования кругами, а затем внутри этого класса создал бы универсальную функцию (например: «ChangeThickness (int newThickness)») и сделал там свой код отражения, чтобы вы контролировать выполнение вызова в зависимости от версии установленного AutoCAD (например, чтобы не вызывать определенную функцию в определенной версии AutoCAD, поскольку она содержит ошибку).
Это создаст расширяемый слой, который вы сможете повторно использовать во всех версиях AutoCAD и сможете поддерживать любые изменения в API.