impersonalis
про мультипоточность не думал ?
в bmax к примеру system hook висит отдельным потоком
тоесть и в blitz3d тоже все mousehit\keyhit обновляются отдельно
в общем есть либа которая перехватывает сообщение WM_CLOSE
для тебя специально потратил 40 секунд копаясь в архивах
в общем смотри атач, ето не особо то что тебе надо
но я думаю поймеш в какую сторону копать надо