Hi Stephen,
When you access the URL via browser for the first time after it has been idle, do you get the same error as when use SL/WPF API?
If not, you can listen to the layer's InitalizedFailed event. This is probably where the exception is thrown and you can do what you need to do inside this event handler to maybe try to Initialize again.
It might also be a good idea to look at the web requests/responses using Fiddler so we can narrow down where it is failing based on the sequence of events.
Jennifer