Накидал я тут по материалам этой ветки модулек, который может быть полезен. Экспортируются несколько типов и 2 функции. Одна дает адрес таблицы полей, другая перечисляет эти поля, вызывая callback (перечисление заканчивается, если callback вернет False). В итоге для любого класса можем получить все сведения о его published-полях, которые ссылаются на потомки TPersistent (имя, класс, смещение). Делал и тестировал в D7, но похоже, что код должен работать в любой версии Delphi.