I notice if you have 2 services 1 cached and 1 dynamic you have to load the cache first for it to display.
Does anyone know why?
Unless you explicitly specify LODs and a spatial reference in your map constructor, they're defined by the first layer added to the map. If you add a dynamic map service to your map first, there are no LODs defined. When you add a cached map service, the cached map service's LODs have to match the map's. If the map doesn't have any LODs, the tiled service can't be added.
As a general rule, add your cached services first, followed by your dynamic servies and then your graphics and/or feature layers.