There is an issue with 3.0 API.
If you interact with a map, a dynamic layer can send multiple requests.
For example a dynamic layer sends request A, then you change the map scale and the layer sends request B.
The problem is that the request A is not cancelled when the map sends the request B.
So there could be a situation when a request B completes first, because it's a different scale and the map could be much more simple in that scale.
In that case the map renders the request B result image.
But then the request A completes and the map clears request B image and renders the request A image (for the old scale).
In that case the user should pan the map to see the correct image.
The bug was introduced in 3.0, so we downgraded to 2.4 for now.
We are using Silverlight 5 with ArcGIS Server 10, not 10.1.