This problem is easy to recur.
When SLSB A(transaction att:requried) calls SLSB B(transaction att: not supported ) though B's local interface, and B throws a RuntimeException, then A will recieve just this very RuntimeException rather than an EJBException.
I mean the EJB Container should wrap the rt. ex thrown by SLSB B to an EJBException, and then deliver the EJBException to it's caller - SLSB A.
If it is a bug, I'm appriciated to any responses. firstname.lastname@example.org