wouldn't CALL TRANSFORMATION run into the same problem? If VBAK has changed since I stored the xstring in the database, I won't be able to convert it back.
Programmatically one solution would be to define local types within the method that deals with this - with a big comment "If you change this type information you won't be able to read old data!".