Hola.
La situación se produce por que el evento
OnKeyPress se dispara antes que el evento
OnExit y dentro del primer evento, se pasa a
Edit2 antes de que este quede deshabilitado por el código del segundo.
Para obtener el comportamiento que deseas, tendrías que hacer algo como esto:
Código Delphi
[-]
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
...
if key = #13 then
begin
Edit2.Enabled := Edit1.Text <> '1'; Perform(WM_NEXTDLGCTL, 0, 0);
key := #0;
end;
end;
Saludos