Un poco extraño tener que borrar siempre todos los registros de una tabla. De todas formas sugiero lo siguiente:
Usar transacciones, así:
Código:
DatabaseComponent.StartTransaction;
...
Table.Empty;
try
DatabaseComponent.Commit;
except
DatabaseComponent.Rollback;
end;
Cuando se eliminan todos los registros e una tabla, en realidad estos quedan en el archivo. Es por esta razón por la que el archivo de base de datos (.DB) cada vez va a ser más grande. Entonces si estamos trabajando con una tabla temporal, creo que lo mejor sería no eliminar todos sus registros, sino crearla cuando se requiera y eliminarla totalmente cuando ya se haya usado. De esta forma el archivo no crecerá indefinidamente.
Por lo demás, con base en la experiencia al ejecutar la aplicación varias veces, creo que deberían aislarse los problemas. Quiero decir que es muy importante saber cuándo se generar un error y cuándo otro. Me refiero a los mensajes de error que muestra la BDE.