The point is if the calling application is running in unspecified transaction context then is afterBegin() called?
The afterBegin() method is therefore invoked with the transaction context
A session bean's afterBegin() and beforeCompletion() methods are always called with the same transaction context as the business methods executed between afterBegin() and beforeCompletion() methods