Probably, I do have concerns about serializing the class name into the file header, seems like it would cause compatibility problems.  Though, I'm doing that with the enumeration mappings,  I wonder if that should be reevaluated.  I did it because I wanted to be able to just serialize enums as their ordinals, and then validate that there weren't incompabilities on load.  I wonder if a better method would be just to serialize them as strings (names of the ordinals), then I can drop all that code together, but it does come at a performance cost.  I believe that's what you had in the initial spec.