TableValue - это просто оболочка для того значения, которое мы хотим получить через метапрограммирование.
item: Meta.Item - это описатель, соответствующий какому-либо объекту (типу, переменной, процедуре и т.п.). Такой описатель можно получить, зная символьное имя объекта через Meta.LookupPath - а дальше делать с этим объектом все, что угодно (см. Meta). В данном случае - получить его значение с помощью GetValue. GetValue принимает параметр по ссылке, который должен быть записью- потомком от Meta.Value и иметь единственное поле подходящего типа - в которое Meta поместит значение.

Что касается расширения - в компонентных системах рекомендуется избегать межмодульного наследования реализации, т.к. это ведет к тесным зависимостям от внутренних особенностей работы конкретной версии модуля - так называемая Fragile Base Class Problem (проблема хрупкости базового класса). Рекомендуется между модулями, особенно от различных поставщиков, наследоваться только от абстрактных классов. Если нужно, можно унаследоваться от базового абстрактного класса, агрегировать поле того типа, от которого хотелось бы наследоваться, и дальше вызовы части процедур делегировать ему.