Hola de nuevo Agustín.
El código funciona, ya que lo probé.

Lo que sucede es que antes no entendí bién lo que buscabas y lo anterior no es lo adecuado para lo que intentas hacer.
Este creo que va más acorde:
Código Delphi
[-]
function TForm1.DatoExiste(Campo, Valor: string): Boolean;
begin
with Query do
begin
Close;
SQL.Text:='SELECT ' + Campo + ' FROM SUPLIDOR WHERE ' + Campo + ' = '+ QuotedStr(Valor);
Open;
if IsEmpty then
Result:= False
else
begin
ShowMessage('Dato existente, vuelva a ingresarlo');
Result:= True;
end;
Close;
end;
end;
Ejemplo de llamada
Código Delphi
[-]
procedure TForm1.btAceptarClick(Sender: TObject);
begin
...
if DatoExiste('Telefono',METelefono.Text) then
METelefono.SetFocus;
...
end;
Recordá desactivar
Save Literal Characters, haciendo doble click sobre la propiedad
EditMask en cada
TMaskEdit. (o desactivarla desde código y restaurarla después de la comprobación)
Saludos.
