This seems to be a container issue not a TopLink issue. The container is responsible for propagating the persistence context and the EM in both methods should contain the same objects if it is actually in the same transaction. To narrow down the issue I recommend trying a find() instead of a query. If the find fails then the container has not propagated the persistence context correctly or the 2 methods are not in the same transaction.
--Gordon
[Message sent by forum member 'gyorke' (gyorke)]
http://forums.java.net/jive/thread.jspa?messageID=226561