適当なこと言うと、serialVersionUIDが違うよって言ってるから、
クラスにserialVersionUIDを定義してみれば?
定義してない場合は自動的に内部で作成されるみたいだが、値が違うってことは、
クラスのI/Fが違うんでしょうね。
書き込んだクラスと読み込んだクラスは、同じクラス使ってます?
名前が同じとかではなく、同じクラスファイルって意味で。