Precisamente estos días estuve tocando este tema y te recomiendo la utilización de unos componentes que trae
Marathon y que realiza ese cometido perfectamente. De hecho, Marathon incorpora una dll que mediante OLE es la encargada de gestionar eso, y de la cual está disponible todo el código.
Te pongo un archivo con el que estaba realizando pruebas, este en particular trataba de sacar la metadata y generar los DOMAINS de una DB que carecía de ellos.
Verás que ellos que se utilizan los componentes de Marathon ademas del VirtualTreeView.
Otra opción mas simple, es utilizar el IbExtract (de la paleta interbase), aunque es menos versátil que lo que te comentaba anteriormente.
ARCHIVO
Saludos