VS2008にてマウスの右クリックをフックするプログラムを作成しています。

SetWindowsHookEx()を使用してWM_MOUSEをフックするDLLを作成し、
作ったアプリはWindows7では特に問題無く動作しますが、XPでは実行ファイルから起動すると
画面がフリーズしたような状態になりログオフするまで直りません。

ただし、XPにてVSのメニュー、デバッグ開始またはデバッグなしで実行から
起動した場合、なぜかフリーズしたような状態にはなりません。

何が原因なのでしょうか?
正直Windows7を今後メインで使うから別にいいじゃんと逃げたくなってきていますが・・・