Completando lo dicho por
eduardocol
En el OnBeforeDelete, puedes hacer las dos cosas, preguntar si quiere borrar el registro y en caso afirmativo, primero cambiar los vencimientos, y después borrar.
Código Delphi
[-]
procedure TForm1.Tabla1BeforeDelete(Sender:TObject; Action : TNoMeAcuerdo :P);
begin
if Application.MessageBox('Confirmación', ¿Desea borrar el registro?, mb_yesno)= idyes then
begin
end
else
Action := daAbort;
Saludos