Frank, I don't see why whether you save custom code in the filesystem
or in the RDBMS has any necessary relationship with run-time
extensibility, nor with preventing CVS upgrades from overwriting
custom content. These are orthogonal issues AFAICT.
Your Project Open stuff may and probably does have real and necessary
technical design differences from other OpenACS packages, but I don't
think that's the reason.