This is because the container pre-loads all of the ejbs before it lets you access them individually inside your iteration. This is done in one huge SELECT statement rather than N select statements for N number of beans to be loaded as in BMP. The reason this query only happens some of the time is due to the caching of the beans in memory.
My issue is that this one huge SELECT statement containing all the 'OR (pk = ?) OR (pk = ?) OR (pk = ?)' kills my database with a large number of OR's. Does anyone know how to configure the container to do something other OR's???