>それを読み取るメソッドとかはもともと同期メソッドだろ

非同期だと言ってるだろ。GetAsyncKeyState() 名前からしてまんま非同期って名前ついてんじゃねーか。