Bill,
I'm inclined to agree with you. Sorry I can't post my code since it's on an intranet.
I removed my layer "onError" listeners and added "onLayerAddResult" and "onLayersAddResult" listeners to the map. Then I added my layers as an array. If the first layer was invalid (I deliberately misspelled the map service name in the URL), the map died and no events were fired. When I moved the invalid layer from the first position in the array, the "onLayerAddResult" event fired for the 2 valid layers, and "onLayersAddResult" did not fire. When I removed the invalid layer from the array, both events fired for both of the valid layers.
BTW, I thought I could get around the first layer error issue by adding the layers one at a time...nope, didn't work.
Guess we need an "onAddingAMessedUpLayerFirst" event.