う〜ん、自分はよっぽどの初心者みたいでよくわかりません。
if(KeyState[DIK_RIGHT]&&0x80)のように使っていますが、
よくわからないのでとりあえず
if(KeyState[DIK_RIGHT]&&0x80)!=0)とやってみましたが
特に変わりありませんでした。
たぶん、もっと低レベルな馬鹿ミスだろうと思うのです。