Until a question in the smartphone.developer newsgroup brought it up, I had forgotten about a small but significant change we made to SMS interception on Windows Mobile 5.0.
In the past, SMS interception has worked by creating a DLL and then adding a reference to it under HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Svc\SMS\Rules. For Windows Mobile to become aware of things being added/removed from this registry location, you had to soft-reset the device. Ouch.
So one of the subtle changes we made in Windows Mobile 5.0 is that you no longer need to do that soft-reset.
This was changed primarily so we could keep the new managed APIs for SMS Interception (Microsoft.WindowsMobile.PocketOutlook.MessageInterception) and the State & Notification Broker (Microsoft.WindowsMobile.Status) as similar as possible. Specifically, we wanted both APIs to support volatile notifications which are set up at runtime, fire only while the app is running, and stop once it closes. But it’s obviously a nice improvement for people using the native SMS interception APIs as well.
By the way, if you need to do managed SMS interception and can’t wait for Windows Mobile 5.0 devices to start shipping, there’s a good whitepaper on MSDN that will help you out.