Si miras la ayuda de
GetKeyState te dice que si el "bit" más significativo está a 1 la tecla está pulsada y que si el bit menos significativo está a 1 la tecla está actvia (las teclas con luz).
Debería ser if HiByte(GetKeyState(vk_anyKey)) <> 0 then pulsada y if LowByte(GetKeyState(VK_NUMLOCK)) <> 0 then teclaactiva
....
Creo que es así pero no estoy seguro
