How do I detect when my Compact Framework application is being smart-minimized (smart minimize is what happens when the user clicks the \"X\" button in the top-right corner
What exactly do you mean by smart-minimized? I suppose you mean your app being automatically minimised on no activity for some time? Well, I don't think that there is an event for that.
The author of this blog spot uses the Deactivate event for turning internal process on and off. This is acceptable for animation and other similar processes and the cases of a message box or another form popping up are no problems. If however, your process must not be stopped unless the application closes or 'smart-minimizes', you could try starting a timer on deactivate events. If the form isn't activated back for a specific interval, then it would be safe to stop the internal process.
Of course in designing your solution you need to take Power Management into consideration. Have a look at this and of course also OpenNetCF for power notifications.