Hola a todos,
Además de lo que te ha comentado el compañero, ¿has probado a hacer lo que necesitas (si no me equivoco, dar el foco al control si su contenido no es el esperado) en el evento "OnKeyUp"? No sé si en tu caso particular te serviría, pero, lo siguiente, sí que parece funcionar como se espera, es decir, en caso de error, el foco acaba en el "Edit1":
Código Delphi
[-]
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
if Key = vkReturn then
begin
if Edit1.Text <> 'expected' then
begin
ShowMessage('Unexpected input!');
Edit1.SetFocus();
end;
end;
end;