Дело в том, что я отправляю заказчику не чертежи, а ПДФ-файлы, т.е. без редактирования, поэтому абс. неважно, каким продуктом я это сделаю.
Я не о том. Не важно что ты отправляешь заказчику. Если твой код предназначен только для личного использования, т.е. работать на купленном тобой AutoCAD 2007, установленном на одном-двух машинках - это одно, а если ты хочешь, чтобы твоё приложение так же работало и на компьютерах др. сотрудников твоей компании, то и у них должны быть AutoCAD 2007-2009, чтобы код, написанный тобой на C++ работал.
Кроме того, насколько тебе действительно необходимо создавать собственные типы объектов в AutoCAD? Возможно то, что тебе нужно - вполне можно решить средствами динамических и аннотативных блоков. Нередко начинают заниматься велосипедостроением (которого можно было бы избежать) в виду недостатка знаний по основному функционалу AutoCAD. Если же всё таки создавать эти типы тебе и в самом деле очень нужно, то следует учитывать и такой момент, что сегодня ты передаёшь в PDF формате, а завтра у тебя потребуют в DWG и все экземпляры твоих объектов у них откроются через задницу (т.е. превратятся в proxy) в виду того, что писал ты под 2007-й, а у заказчика 2016-й. Даже если у заказчика будет 2007, то это ничего не меняет - он всё равно получит proxy, ведь твоего кода, который корректно отображает и выводит на печать твои объекты у него не будет. Т.е. тебе придётся писать так называемые "энейблеры" под разные версии акада, чтобы твои чертежи корректно в них отображались.
Кроме того, каждый раз устанавливать себе левый дополнительный софт [плагин, непонятно чей, не понятно что делающий] лишь для того, чтобы открыть очередной DWG не каждый заказчик захочет (и его можно понять). Так что подумай, действительно ли это [создание своих типов] стоит тех дополнительных усилий, которые тебе придётся прикладывать и той дополнительной ответственности.
Если всё же потребность в пользовательских типах не настолько остра (что я сильно подозреваю) и можно обойтись без неё и покупать новую IDE не хочется, тогда нет смысла заморачиваться с ObjectARX и имеет смысл смотреть в сторону .NET.