ciao,
ti rispondo anche se non so nulla riguardo i componenti ADO.

un problema del genere io lo risolverei utilizzando solo l'apposito flag 'cancellato' e dando la possibilita di visualizzare i record con o senza flag Attivo.

in questo caso, per effettuare la UNDO basterebbe modificare il flag.

lo stesso problema, l'ho risolto, appunto, aggiungendo un field alla mia tabella

codice:
...
cancellato  string varchar(1)
...
dove assegnavo 1 per record valido, e 0 per record cancellato.

ciao