レスありがとうございます。
なるほど。つまり、メッセージを送りすぎて処理が追いつかないと...。
GetKeyStateの場合、メッセージ送信でキーの状態を得るということですね。
キーボードの状態を直接I/Oから読み取るものだと無意識で思ってて、
こういうことになったと。
割り込みの意味が少し分かったような気がします。
CPU100%はSleep(10);で解決...。(本当は別なやり方が正攻法なんでしょうが)