I think I may have narrowed it down a bit. I noticed this warning in my console output after undeploying and redeploying my app.
[#|2008-10-01T12:34:58.292-0400|WARNING|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=18;_ThreadName=Thread-134;_RequestID=efc3cde2-92a8-4474-9894-fd6088463341;|[b][i]The following file(s) were left(locked) from the previous deployment; they were not updated during this deployment and could interfere with the application:
C:\DevelopmentEnvironment\glassfish-v2ur2\domains\domain1\applications\j2ee-apps\eiss-core\eiss-entities.jar|#][/i][/b]
I noticed that in fact eiss-entities.jar is left in the deployed directory after an undeploy (while all other elements are removed). I found this site:
http://blogs.sun.com/quinn/entry/tool_for_diagnosing_failed_glassfish where Tim Quinn published a tool he had written to try and identify locked jar files that may be causing deployment issues. After running his tool I verified that GF is in fact retaining a lock on the eiss-entities.jar file.
When I remove the orm.xml and eclipse-orm.xml then eiss-entities.jar is not locked and removed correctly during an undeploy.