Matthew, I assume you're still working with DevForce Classic, although the issue exists in DevForce Silverlight too. We currently assume if you've set the fetch strategy to DataSourceOnly or DataSourceThenCache that this was intentional, and document that the InvalidOperationException will be thrown if the PM is disconnected.
Setting the PM.DefaultQueryStrategy to a cache-only option is usually a good idea when going disconnected. If you need to set the strategy on either the queries or with the Get* calls, then, yes, you will need to provide your own scheme for switching the strategy based on connection state.