AFAIK you see this behaviour because you do not have any transactions.
Whats the transaction attribute of this bean / method ?
You may set transaction to Required or RequiresNew.
I recently coded a bean with transaction attribute "Supports" including the finder and the iteration.
The work on the entity bean is done in separate SLSB with transaction attribute Required.
So the bean is loaded once an locked in this transaction.
I set same transaction attribute on all bean.