I finally figured it out: the Zope 2 daemon manager would spawn a new Zope process with the current directory pointing to the recently-removed instance folder. Modifying Zope-2.10.9/lib/python/zdaemon/zdrun.py to update the cwd fixed the problem. I'm wondering if the fix could be made part of plone.recipe.zope2instance.
I finally figured it out: the Zope 2 daemon manager would spawn a new Zope process with the current directory pointing to the recently-removed instance folder. Modifying Zope-2. 10.9/lib/ python/ zdaemon/ zdrun.py to update the cwd fixed the problem. I'm wondering if the fix could be made part of plone.recipe. zope2instance.