Prova a dare un'occhiata a questo link http://www.swissdelphicenter.ch/en/showcode.php?id=2115 .

In sostanza, il fatto di voler salvare i dati in caso di perdita accidentale é un concetto contradditorio, poiché una volta che i dati vengono cancellati non é più possibile recuperarli.
Forse, una cosa che puoi pensare di adottare, é quella di crearti una procedura ad-hoc, che ogni tot-minuti procede al backup dei dati.
Tutto ciò può avvenire in modo del tutto trasparente all'utente, oppure puoi inviare un messaggio di testo indicante l'avvio della fase di backup.
Logicamente questa funzione dipende anche dalla struttura del tuo programma e del tuo database.

Ciao