My guess is that you are using a separate war directory in your external server, have copied all of your static content over (including the *.gwt.rpc files) to that war directory, and then changed something about the serializable models that you are passing across your RPC calls. Whenever these models change the generated .gwt.rpc files will have changed. Your server would be using one variation of the serialization policies and your client java debugging would be using a different one.
I can think of two options:
Make sure to copy the .gwt.rpc files over to the server war directory. You could create a custom ant task to do this.
Configure your external web server to point to the same war directory that you use for internal GWT debugging. That way when GWT generates changes they are automatically in the right place.
Option #2 is the one I go with when dealing with large complex systems that require an external server.