Hola rubio.
En primer lugar tenes que poner la propiedad
ConfirmDelete del
TDBNavigator en
False.
Luego el problema se provoca por que cuando se dispara el evento
BeforeDelete, ese registro (de no mediar intervención alguna) ya se va a borrar.
Entonces cuando dentro del evento invocas:
Código Delphi
[-]
...
ADOTCliente.Delete;
...
estás llamando otra vez al método
Delete.
Intentá de este modo:
Código Delphi
[-]
procedure TForm1.ADOTClienteBeforeDelete(DataSet: TDataSet);
begin
if MessageBox(Handle, 'Desea Borrar este Cliente?', 'CONSULTA', MB_ICONQUESTION + MB_YESNO) = mrNo then
Abort;
end;
Saludos.