Здесь считается, что GetKeyState возвращает signed byte, поэтому код такой странный. Я бы написал (и всегда пишу) так:
Код:

if (GetKeyState(key) < 0) then ... // pressed
или, на ассемблере:
Код:

push key
call GetKeyState
cmp eax, 0
// в флаге переноса бит, указывающий на нажатие
// не помню инструкцию загрузки CF в al
Так это обычно делает компилятор C++ в дебуге.