Saludos
Comento mi experiencia,
Cuando trabajaba con tablas DBF utilizaba tablas temporales debido a las limitaciones de la tecnología de la epoca (Empece utilizando Disquetes)
Desde que migre hacia MSSQL y MYSQL (2002-2005) implemente integridad referencial y disparadores, no utilizo tablas temporales debido que los transacciones generan resultados en linea, costos promedios, existencias, balances.
En el momento que guardo un item de un documento, previamente registro el documento (Encabezado) al finalizar los items (Grid) genera los totales del documento.
Recomiendo aplicar la gestion de cambios, adoptar nuevas practicas que logren mejorar nuestras aplicaciones.