Hola:
Efectivamente, hay un problema de ese estilo si usas un ObjectOutputStream o algo parecido. Estas clases recuerdan qué han enviado y no se preocupan en serializarlo por segunda vez si envías lo mismo, aunque internamente haya cambiado.
Una solución sin clonar es llamar al método reset() del ObjectOutputStream antes de enviar algo. En su día me tropecé con este problema haciendo un programa de
enviar ficheros. En el enlace puedes ver las posibles soluciones.
Se bueno.