About the auto-update function: LOCALIZE!
Make the user choose from setup where he lives [for instance the UK] and then make it look for auto-updates on a random UK server...
I can hear you say: 'then wat about servers that are down or not working?'
Simple: Make the program look for the nearest server and make it connect there...
No need to remove the auto-update