Hola Waldo.
La verdad que no escuché ese caso, es de lo más extraño... Sobre todo el que ejecute el evento
OnKeyUp sin dejar de presionar la tecla.
El órden de disparo es
OnKeyDown,
OnKeyUp,
OnKeyPress. Para discriminar si es un problema de teclado o de la aplicación, yo haría una nueva aplicación (un form), pondría nuevamente
KeyPreview en
True y vería si los eventos se disparan correctamente, mediante un Break o también:
Código Delphi
[-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
ListBox1.Items.Add('KeyDown')
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
ListBox1.Items.Add('KeyPress')
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
ListBox1.Items.Add('KeyUp')
end;
Si detectas que el órden no es el correcto tal vez sea un problema físico.
Saludos.