But after all, it's just an interface. If your implementation isn't serializable, it's not the interface's fault. It has to be something in your listener that can't be serialized correctly. Maybe the complete stack trace would help to find the problem.
About the other exception: I don't see how adding the listener could cause this. It's an exception that is thrown on reading in the serialized object, so i guess it happens on the server? Are you 100% sure that server and client are using the same set of classes?