A quanto ne so c'e' un problema con gli ObjectStream, non credo che sia un bug, ma solo il modo con cui essi si comportano.
L'ordine con cui li crei deve essere opposto nel client e nel server, per cui se nel client costruisci per primo l'output stream, nel server devi costruire per primo l'input, poi nel client costruisci l'input e nel server l'output.
Questo perche' i due oggetti (input e output) hanno bisogno di leggere un'informazione contenuta nell'header fornito dall'interlocutore.

Scusa se sono stato vago, ma non ricordo di preciso i particolari, so che a suo tempo ho avuto lo stesso problema nell' utilizzare questo tipo di stream. Prova quindi ad invertire l'ordine di costruzione, se poi il problema e' proprio quello: nella documentazione della Sun ci sono tutti i dettagli (o forse era un commento che avevo trovato nei sorgenti... non ricordo).

Fammi sapere. Ciao.