If you use IsSerializable (and no type name elision), and don't have
any actual API changes, you'll be okay, you user shouldn't notice.
Otherwise you'll have to catch IncompatibleRemoteServiceException and
ask your user to reload the app.
I was mulling over this scenario awhile ago and wrote a blog post about
it:
http://www.draconianoverlord.com/2010/07/07/gwt-seamless-upgrades.html
- Stephen