You usually implement VirtualizationSource (VS) to read / request some data and add objects in the VisualizationLayer. It's expected that when you change VirtualizationSource - items are - removed, re-added in the Visualization Layer and this results in blinking of objects that haven't changed their position.
Instead of refresh of VS, aren't you able to configure your VS with some method which request and collects only the objects that have changed their position in RadMap. Then iterate and update the Position of those elements in the Layer. You perhaps may need a Dictionary - a map between the objects in the layer and business objects you read / request with the VS. This would probably solve both blinking issue and improve the overall performance.
You lost the focus out of Map with some interaction. Why do you need to get it back to Map ? Is Focus() method applicable in this scenario ? Do you have some keyboard navigation in map ?
What's the requirement behind the Auto width and height ? Is it possible to explain it with pictures of the desired result or any additional information ?