Non sono ferratissimo su Delphi, ma hai verificato se vengono sollevate eccezioni? E' difficile che dei record vengano "buttati via" senza che vi sia una causa... e, generalmente, quando questo accade viene sollevata un'eccezione. Solitamente, quindi, si inizia una transazione, si effettuano le INSERT, alla fine si effettua un COMMIT. Se qualcosa va storto viene sollevata un'eccezione e in quel caso si esegue una ROLLBACK.
Se viene sollevata un'eccezione dovresti fare due cose:
1) Vedere qual è l'errore sollevato (solitamente l'eccezione si porta dietro un messaggio, un error code, uno stack trace, qualcosa che faccia capire la natura del problema e la causa).
2) Ritentare l'operazione (almeno una volta).