Yes, I agree with Rene's post. It does seem like it needs to be cleaner if one of the layers doesn't exist, or is broken for some reason, there needs to be better error handling. I've tested this theory by setting the esriConfig.defaults.io.timeout setting too small (try setting it to 100ms). I don't see my layers-add-result error event occurring for this case. And I don't see my other error handlers executing. Instead, I'm getting lots of DOJO Script errors. Interesting.
Has anyone found a good way to handle this?