Yes - Use a serialization engine that is tolerant of version control .
As expected, I suggest using Google Protocol Buffers , for which there are at least two viable .NET implementations. As long as you are careful, the protocol buffers are compatible with both reverse and direct access - you can read a new message with the old code and vice versa, and the old code can still save information that it does not understand.
Another alternative is XML, whether it uses the built-in XML serialization or not. To my knowledge, inline serialization is not particularly flexible in terms of version control.