To your question #4: "NotSupported" doesn't throw any exception but I think it is equally dangerous as "Never" because the bean method would run without any TX* context [suspends the current TX].
SCJP,SCJD,SCWCD,SCBCD,SCDJWS,SCEA
1) Of the six transaction attributes, which one (or ones) must NOT be used by a bean that calls getRollbackOnly() or setRollbackOnly()?
Answer = Never
In the specs p. 180, I read : "The getRollbackOnly and setRollbackOnly methods of the EntityContext interface should be used only in the enterprise bean methods that execute in the context of a transaction. The Container must throw the java.lang.IllegalStateException if the methods are invoked while the instance is not associated with a transaction."
So I had added to Never : Supported and NotSupported