У меня такое ощущение, что в подобных случаях вы можете идти вразрез с замыслом разработки времени разработки компонента VCL. Поля обычно определяются кем-то, кто помещает табличный объект в модуль данных, затем устанавливает свойства набора данных для конкретной таблицы SQL или другой таблицы и выбирает поля из этой таблицы, а не компонент с фиксированным набором полей, который может быть что-то проблематичное для поддержки текущей архитектуры, даже если у вас есть исправление, вы уверены, что с этим подходом проблем нет?
Думали ли вы об альтернативном подходе? (Напишите компонент с открытым свойством, позволяющим подключать его к набору данных или источнику данных, и поместите всю логику своей инфраструктуры в этот компонент). Оставьте класс набора данных в покое.
Действительно ли вам НУЖНО установить отношения "ЕСТЬ A" в терминах ООП, или ваш код на самом деле будет чище, если вместо этого вы подумали "У ВАС есть ссылка на набор данных"?