Perché questa esigenza…?
Intanto spiega meglio come gestisci l'annullamento… perche l'UNDO non è sufficiente e va gestito nell'evento corretto.
In ogni caso la funzione del campo Autoincrementante non è quella di evitare i buchi ma di essere UNIVOCO ed è ovvio che nel momento in cui generi il progressivo questo non possa essere recuperato, prova a ragionare in caso di modalità MULTIUTENTE….
Se ti da fastidio il buco devi gestire la PK in modo diverso… con tutti i rischi del caso.
Se invece ti serve un progressivo incrementale gestisci un campo specifico con la funzione di progressivo e non di PK.