Answered my own question... It is a matter of which EJB container is being used. It is all configurable. Out of the box, CMP 2.x does pessimistic queued locking of the EJB. So yes, transaction A reads a record, transaction B is blocked from reading the same record until A completes... at least in this container... now I can't wait to try other locking methods. There could be quite a speed improvement, although I'll start to see rollbacks where I didn't get them before.
I love this stuff.