There was a discussion a little while back that was related to this issue. From that I thought the best way around this problem was to use a completely new KUID and reference the old in the obsolete table. Would that solve the issue raised by the OP?
It's tough for creators. The more you make, the more you may need to correct every time a new version comes out. You could spend all your time just fixing older stuff and then you have a bunch of folk complaining about no new stuff.
On top of all that, the validation rules have gotten much tougher. Try reading the TrainzDev threads to see how difficult it can be.