We use SilverLight and what we do is as follows:
1) For layers we use that are required, i.e. the application will not function without it, we add an attached property to the XAML that indicates that the layer is required
2) In the application unhandled exception handler, we check to see if the exception is related to a layer load issue
3) If the exception relates to a layer load issue and the layer is required then we fail the application and inform the user
4) If the exception relates to a layer load issue and the layer is not required then we eat the exception and simply log the error