Allora, ho alcuni aggiornamenti da fare.
Innanzitutto, contrariamente a quanto affermato nel post precedente anche la findByPrimaryKey ritornava un errore.

EJB Exception: ; nested exception is:
java.io.StreamCorruptedException: invalid stream header

In realtà essa ritornava correttamente il messaggio record mancante se il campo chiave mancava in tabella. mentre se c'era un record con il campo chiave cercato sollevava l'eccezione postata sopra.
Tuttavia alla fine sono riuscito ad individuare i problemi (erano 2) ed a risolverli. Come sospettavo erano collegati ai due campi Timestamp(3) ed al campo Date.
Difatti senza questi 3 campi l'ejb funzionava correttamente sia in fase di create che di findByPrimaryKey
Posso anticiparvi che era errato l'uso dal lato java (nell'ejb) della classe java.util.Calendar.