To that point, it does seem odd that even the simplest assets in payware are forever frozen from other use, but my question above was more technical, as "Packaged" is an actual field in the database, and I assume assets are records with the given fields. At least that's how it looks in CM. If so, I don't see how an asset could be "packaged" in one version and still "payware" in another version if the status field is a database attribute of the asset itself.
I'm not sure what form the trainz database is stored in but in general most databases support fields that can be dynamically changed based upon a formula that looks at other fields to determine the value for the field. Think of a field that indicates whether a membership is still active or non-active. You write a formula for that field that examines the the date of the last purchase and if that date is older than 365 days ago then the field indicates non-active. When a new purchase is made then it changes to active without user intervention.
My guess is that packaged just indicates that the most recent version of the asset exists in a tzarc or scxxx package in the packages folder and the database knows that is where to find it. The database is keeping track of assets in different folders all over your local data folder. For example, you download an asset from the DLS and it gets installed in your local folder. You want to edit it so you open it for edit and the database moves it to the editing folder. When you're done you commit it and it gets moved back to the local folder. The database is tracking its location at all times and updating the status field from installed from DLS to open for edit to modified.