A couple of things to note:
When you upload it the first time it works correctly and adds the appropriate html with the correct xap file name, but subsequent times it does not update the xap file name so you need to right click on the name right above "Browse" button, select "Copy link" and then paste it over the old xap name.
There is a bug (times out) when uploading large xap files. Not sure how big, but under 1MB seems to work and at 2.5MB it fails.
Another thing (and this may be my problem) is that the query string that the silverlight app gets, appears to be different when you run in dev mode and live mode (it's missing a bunch of info including ownerId and viewerId in live mode).