Complementando lo que dice Neftali, en los componentes IBX ya no funciona de manera "tradicional" el
RecordCount, de hecho para estos componentes esa propiedad tiene
cero como valor default, tendrias que ejecutar la funcion
FetchAll para que te de el numero de registros, pero esto puede ser altamente ineficiente en terminos de tiempo, para eso te recomendaria mejor una sentencia del tipo:
Código SQL
[-]Select count(ID) as Cuantos from Tabla where ID=:ID
Otra es como dice Neftali, agrega un indice unico y deja al manejerador y al mismo delphi te arroje el error causado por el intento de duplicar una llave.
Saludos.