I have a .NET Compact Framework 3.5 program that is used as a \'Occasionally Connected\' line of business (LOB) application. If it can see an online webservice, it will use tha
What about using the SystemState class at the Microsoft.WindowsMobile.Status namespace? You can monitor the current state of the system and get notifications, when the state changes. See this post for some code.
SystemState is only about the status of the connections. You can use a specific connection through the ConnectionManager. I recommend reading this article. If you are using .NET Compact Framework 3.5, a managed API is included. You can also use OpenNetCF ConnectionManager.