El problema de las tablas maestro/detalle nos es común a todos los programadores, la solución... no, seguro que cada uno hemos ido adaptando o escogiendo una solución a raiz de nuestras experiencias, fallos, tipo de relaciones entre las tablas, etc...
Postear una cabecera y volver a editarla para terminar de rellenar datos que sólo se obtendrán cuando se hayan ido grabando los detalles es algo a lo que particularmente he recurrido varias veces. Incluso cuando trabajaba con Delphi 3 creaba tablas de memoria o lista punteros a estructuras del tipo register (poder moverme por los datos con varios punteros y varios órdenamientos) para trabajar con los detalles y luego volcarlos a la base de datos. Pero lo que mejor resultado me ha dado es usar ClientDataSet y DataSetProviders, que aunque estaban disponibles desde D5, los empezé a implentar habitualmente con D7. Merece la pena que inviertas dos o tres días en estudiar su funcionamiento. Echa un ojo a
http://delphiallimite.blogspot.com/2...dataset-i.html
Saludos.