Hola,
espero no te moleste, pero no me parece muy bueno el diseño que haces de las tablas. Es que, por cada nivel de tu treeview estás pensando generar una nueva tabla, cuando en realidad toda la información necesaria para realizar una jerarquía se puede poner en una sola. Para ello basta con indicar quien es el "registro padre" de cada registro. Lamento no tener ningún ejemplo a mano (y los que tengo están echos en VB.NET).
De todas formas me acordé que en algunos hilos se había comentado sobre un componente gratuito, el Virtual TreeView, que hacía más comodo el uso de jerarquías de este tipo.
Aquí tienes algunos enlaces:
http://www.clubdelphi.com/foros/show...eeview+grat%2A
http://www.clubdelphi.com/foros/show...nente+treeview
http://www.clubdelphi.com/foros/show...eeview+grat%2A
http://www.clubdelphi.com/foros/show...eeview+grat%2A