I think the entity objects should only be used to represent the entity in the database, that is managing the state. It is obvious to restrict the transaction management in the Entity beans. Generally Entity beans and created and the life-cycle is managed in the Session / Message bean. So Entity beans must run in the transaction started by caller beans.
I think for this reason the specification restricts the use of BMT in Entity beans.