Bueno, no he leido todo el tocho pero voy a sugerir algo que talvez lo sepas o no o sea o no el problema
Si tienes el objeto en sesion tienes que serializarlo cada vez que hagas un cambio en los valores del objeto. Esto me pasó en un caso similar a lo que sería el carrito, un objeto en sesion que los valores van cambiando.
Espero te sea de ayuda.
Un saludo.