>>240
解決したのかな。

QueryUnloadで、終了までにやるべき処理をやればいいのでは。
ただ、アプリケーションの終了までに、一定時間かかった場合、OSから強制終了される。

仮にアプリケーションが終了を拒否できたとしても、
その他のアプリケーションが終了すればOSは機能しないわけだから、
素直に終了されるしかない。

強制終了までの時間に処理できないなら、
強制終了までの待ち時間を長くしてやる必要がある。
この対策は、終了時にログを吐くサービスアプリケーションなどで意識する必要がある。
設定はレジストリだけど、どこだったかは失念。