When using a dynamic layer, the server needs to render a new piece of image on the fly as the map extent changes, i.e., as the user pans or zooms. When using google map's control, the google map refreshes with new pre-cached tiles first, while the picture of the dynamic service remains while waiting for a new image. Thus, if the server renders slowly, it can cause an impression of a 'shift' but it's actually the previous extent's image...until the new image is served.
You can test out the effect here: http://help.arcgis.com/en/webapi/javascript/gmaps/samples/maps/map_add.html Do not zoom or pan too fast first, to see that the dynamic map overlays correctly, then 'overload' the server by making faster changes to the map extent while observing the 'previous' image of the dynamic layer being shown until the new one is ready.