Т.е. придётся всё равно делать разные Cuix для разных версий AutoCAD, причём для ранних(19.0-19.1) можно и без dll просто с прозрачными bmp, а для свежих(20.0-20.1) уже dark\light dll.
Недавно как раз с этим очень плотно имел дело. CUIX-файл делал один на версии 2014-2016, проблем с этим не было. Также, сделал два C++ проекта с ресурсными иконочными DLL - один для темной схемы, второй - для светлой. В настройках проектов в разделе "Build Events - Post Build Events" можно настроить события таким образом, чтобы создаваемые dll файлы после сборки сразу копировались в нужные папки под нужным названием. В папку для 2014 версии - только "светлая" dll без суффикса, в папку для версий 2015-2016 - "светлая" с суффиксом "_light", "темная" - без суффикса. Я сперва так делал, а потом настроил то же самое но уже в проекте WIX-инсталлятора. В общем, каким образом ни делай, есть возможность один раз настроить и уже потом не думать откуда и какие файлы нужно скопировать и как назвать - все делается автоматически.
Как AutoCAD определяет, какой DLL подгружать:
- в версиях до 2014 включительно подгружается только та DLL с иконками, название которой совпадает с названием файла CIUX. К примеру, есть файл: "MyTools.cuix", иконки для этого файла ищутся в файле "MyTools.dll".
- в версиях 2015-2016 для темной схемы подгружается DLL, совпадающая с названием CUIX, для светлой - название с суффиксом "_light". Пример: "MyTools.cuix", иконки для темной схемы: "MyTools.dll", для светлой: "MyTools_light.dll".
Еще один неочевидный момент. Можно создавать один ICO файл для иконок 16х16 и 32х32. Для этого внутрь ICO нужно поместить два соответствующих изображения. В настройках кнопки указывается при этом одинаковый ID изображения для большой и маленькой кнопки. AutoCAD сам выберет иконку в зависимости от размера выводимого изображения. Этот прием позволяет сильно сократить количество ICO файлов в ресурсах C++ проекта.