Yes, it's a bit provocating, I know, but I'm really disappointed.
With the behavior (that, I know it, strictly follows the spec) of removing relationships automatically when we remove an EJB without triggering an exception. We can't use applications in production.
One important thing with referential integrity is to avoid deleting elements that are used in relations. More over: with JBoss, FK should be nullable. In such a way, it's impossible to find how to control this.
Automatizing the relations remove should not be the default. Or a mean to deactivate it should be provided.
In JBoss, there isn't any way to do it other than coding each relation tests.
I believe the spec intends you to check this in ejbRemove and throw a RemoveException to prevent the removal. As you say, this is not ideal. We are reexamining the implementation of remove in JB4 and may be able to add this type of on-delete-restrict behaviour as well (no promises :-)