Não precisaria de função alguma. O Delphi já faz isso por meio da RTTI.
Com respeito ao banco, acredito que não seja uma perda tão grande como parece. Pelo menos nos BD que eu utilizei, não vi perda tão significativa. Qualquer outra solução esbarra nos problemas que apresentei no post anterior.
EDIT: A propósito, exceto se você for utilizar RTTI, tipos enumerados não precisam ter nomes pequenos. Não faz diferença pois internamente o compilador trata eles como valor inteiro que é, em geral, de no máximo 256 valores (SmallInt).
O que o Isaque fez foi diminuir o tamanho dos tipos com o objetivo principal de facilitar aos novos usuários do ACBr detectarem qual é o tipo específico para o campo que eles estão procurando.