Forum OpenACS Development: How do we treat old or unrecognized parameters during package upgrade?

I am helping Greenpeace upgrade their site to OpenACS 4.6.3 and I got bitten by a parameter problem that Lars experienced previously on openacs.org.

In both of these cases the problem was that a package had custom parameters that got deleted during the upgrade. OpenACS.org had acs-subsite extended with a couple of ETP related parameters and greenpeace.org had added a bunch of custom Greenpeace parameters to the same package. When the APM upgrades a package it will silently and indiscriminately delete any parameters not in the new version of the package.

What should we do about this problem? The obvious simple solution is to make the APM *not* delete old or custom parameters (unfortunately we can't really determine which of the two we're dealing with as we don't have access to the old .info file). This is a 5 minute fix as I've already identified the piece of code to remove. The downside to this solution is that a package may want to get rid of old parameters whose values are maybe no longer needed or stored somewhere else in the new version.

What do people think? Any other quick solutions that we can think of?

Don't delete them - if a package wants to get rid of them the code can be included in the datamodel upgrade script for the new version, right?
I committed the change that me and Don are proposing here on the 4.6 branch for the upcoming 4.6.3 release.