Because of the issues with browser caching we can't always be certain that our Silverlight application will be the latest version running.
If you need to deploy a new version which breaks backward compatibility then you're stuck unless you implement your own wrapper.
The following is a quick example of how to deploy your own stub that will ensure the latest version of your Silverlight client is always running. It doesn't matter if the stub is an older version as it shouldn't need to change once you have the code bedded in.
I personally think this should be included as a default in Silverlight and at the very least have it templated.
Extensions: If you're really keen you could implement polling from the stub to detect when a new version is availalble and force a reload.