Compadre usa un trigger y listo
Anstes de insertar o actes de modificar(pono como debe ir )
Código SQL
[-]
as
declare variable "N" Bigint;
Begin
"N" = Null;
Select "Id" from "Clientes" Where "Id" = new."Id" Into :"N" ;
if ("N" is not null)
exception "Msg"'Ya existe este cliente';
End
Eso soluciona tu pregunta segun lo que entendi.
Nota: "Msg" es un aexception en este caso vacia y le concateno el mensaje valido de firebird 1.5 en adelante (creo que es desde 1.5 bueno eso no es problema sino le pones el mensaje de uan vez)