Windows7から、低レベルのマウスフック/キーボードフック(WH_KEYBOARD_LL/WH_MOUSE_LL)が仕様通り(?)

このフックプロシージャは、次のレジストリハイブ内の LowLevelHooksTimeout 値よりも短い時間のうちに、メッセージを処理するべきです。

HKEY_CURRENT_USER\Control Panel\Desktop

この値の単位は、ミリ秒(ms;1,000 分の 1 秒)です。この時間内にこのフックプロシージャが制御を返さなかった場合、システムはメッセージを次のフックへ渡します。

働き(規定は300ms。10回以上このペナルティを受けると、このプロセスには2度とフックがかからない、らしい)勝手に解除されてしまうようになった。
で、結構クリティカルっぽく、普通のクライアントアプリでこのフックをかけるとタイムリミットをオーバーしてしまう可能性が高く(特にネットブックレベルのPCだと)、PCの負荷による遅延分もアプリ側の責任となっているようだ。
回避として、レジストリをいじる、というのもあるが、アプリが勝手に書き換えるのは行儀が悪いので、「フック処理専門プロセス」、「アプリのプロセス」と完全分離するのがベストっぽい(スレッドの分離だけではうまくいかない場合もあった。あるスレッドがプロセス自体をウエイト状態にしたりするので)
#フックとアプリ間は(WM_USERとかで)適当に通信させること。

で、試してみる・・・

おぉ、ONKYOのスレートPC(Windows7)で、ワンセグ見ながら、ブラウザ複数立ち上げ、スクロールさせ高負荷の状態でもマウス/キーボードフックが勝手に解除されなくなった!