Вы, видимо, слабо понимаете механизм метапрограммирования. Meta предназначен для того, чтобы ваш код мог работать с теми типами, о которых он вообще ничего не знает на этапе выполнения.
SqlDB.Table.Read(row: INTEGER; rec: ANYREC) ничего не знает и знать не может про ваши конкретные типы. Через Meta происходит разбор структуры записи и заполнение ее данными из таблицы. Только в данный момент для того, чтобы работать со своим типом через SqlDB и аналогичные сервисы, приходится обязательно его экспортировать. Иначе SqlDB не найдет в нем ни одного поля и данные туда не занесет по понятным причинам. У меня, например, в библиотеке есть процедура ZeroRec, которая инициализирует нулями и "" любую запись, но она также работает только с экспортированными записями. Я могу, конечно, переписать через Kernel, но пока мне это не нужно. Модулю Stores как сердцу Framework'a, позволительно привязываться к Kernel, пользовательским модулям - нежелательно.
В любом случае ждем ответа от Ominc - если текущее поведение Meta является не ошибкой, а сознательным решением, то тут и обсуждать нечего...