なんか、環境作り直したら動きました。
ClassLoaderでejb3アーカイブを読んでいたのはWebコンテナ側でロードしていないSeamのAnnotationがついたクラスを読むためだったみたいです。
Seamを使うかどうか検討していたのだけど、やっぱりJSPからEJBのクラスを直接呼び出されるのは気持ち悪いから使うのやめて自分で実装することにします。
まぁ、勉強不足を実感できただけでもSeam試してみてよかったかも。