Instead of using the map property isZoomSlider you can use the map's constructor option of slider:

Alternatively you can use the map's hideZoomSlider method to show/hide the slider after map creation:

dojo.connect(map, "onLoad", function(){
map.hideZoomSlider();
});

This does not work. The map still displays the zoom slider after the map is loaded, even with this code. I'm assuming the order of events if overriding the behavior. When is the zoom slider shown/added? After all layers have been added? What is the order of events?