According to the guidelines, my Compact Framework app saves its state by overriding OnClosing, and storing its data safely away. This works when the program is swapped out by Windows Mobile, via a WM_CLOSE message.
Unfortunately, this method is not being called when the phone is being shut down (by one of the many reboot apps) via ...