Ok, so I got this working but not all that happy with the solution.
I setup an initial URLStream of the map service in question with a Complete event to fire when the data has been full retrieved. If the target server is down, that won't happen for about 30 seconds. If the target server is up, the event will fire very quickly (under a second). Either way, I have a module level boolean flag that gets set to true when that event fires.
In the meantime, I also set a Timer to fire a tick event after 2 seconds. When the event is triggered, it checks the stream flag. If true, then I go ahead and create the map layer and load it into the map.
If the timer completes at the end of the two seconds and the flag is still false, the stream is closed, set to null and I don't load the map service. I then notify the end user that the service not available.
Seems like there should be a MUCH easier way to do this. Hopefully I've missed something elementary.
Have a great New Year's all.
-r