Hi Paul Thanks for the answer. The Collector isn't letting me in right now (Zero Sized Reply) but I'll keep trying.
As you described, deleting a property from a property sheet does not remove it from instances. This is correct behavior. It would not be practical to seek out and modify all instances with the property.
I still think that the issue is a bug that Zope should fix, because it can play havoc with acquisition and is quite difficult to detect.
I fully agree. At the very least, it should be possible to search the ZODB for zombie properties (ZClass instances properties that do not exist on that ZClass's propertysheets). The workaround currently seems to me to be something like *never* deleting a ZClass property, and simply setting its default value to something like "DON'T USE ME!". It doesn't make the problem go away, but at least it keeps it in sight! :/ Regards, jean