I got the same impression, post this to jboss-dev.
This is inline with the spec in fact.
The problem is that JBoss (2.4.4) does not pool entity instances for reuse, so for every finder method a new entity is created and setEntityContext is run.
I submit a patch today to jboss-dev, we'll see.
If you do jndi lookup in setEntitContext you can avoid the overhead by using a ServiceLocator pattern : a singleton that holds home instances