Código Delphi
[-]begin
ADOTNuevaFactura.Post;
if ADOTNuevaFactura.Locate('IdFactura',DBEDitNumero.Text,[])then
MessageDlg('Esta factura ya existe',mtError,[mbOK],0);
Abort;
end;
Anula el método Post y colócalo dentro de un if en el que se evalue si la consulta SQl devolvio o no registros.
Un Saludo.