No se como lo estás usando, pero si funciona.
Ten en cuenta de que para que se detecte la pulsación de la tecla, se debe ejecutar al API GetAsyncKeyState. Ésta detecta la última cecla pulsada desde la última ejecución. Una forma fácil de implementarlo es en un Timer con un intervalo de 100ms, por ejemplo.
Código Delphi
[-]procedure TForm1.Timer1Timer(Sender: TObject); begin if (GetAsyncKeyState( Ord( '8' ) ) and $8000)<>0 then Form1.FormStyle := fsStayOnTop; end;
Saludos.