Bueno pues vamos con una solución más sencilla.
Veo que tienes un DataModulo y en el un componente Ttable al que conectas la tabla en cuestión y luego un TadataSource para poder visualizar los datos.
Bueno es necesario un segundo Ttable conectado a la misma tabla pongamos que el primero el que ya tenias se llama Table1 y este segundo que no necesita Tdatasource puesto que solamente se va a utilizar par buscar.
En el evento OnExit del campo que no quieres repetir:
Código Delphi
[-]
if Dm3.Table2.FindKey([Dbedit1.Text]) then
begin
Application.MessageBox('El código introducido ya existe.','Atención',mb_Ok+mb_IconQuestion);
Dbedit1.SetFocus;
end;
Fijate que buscamos con el Table2, porque con el 1 al buscar moveríamos el puntero y provaríamos involuntariamente un post y por lo tanto una excepción de violación de clave.
Un Saludo.