Roger, could you please note the page in the spec since I can not find that formulation you just gave.
The only thing I can find is on pg. 379 (18.3.5), which says:
if a client makes a call to a session object that has been removed the container should throw the java.rmi.NoSuchObjectException ...
But it doesn't say that by default it throws a java.rmi.RemoteException, and that would be better to ("should") throw a NoSuchObjectException. Wheras in section 18.3.4 the distinction between what the container has to do and what it should do is clearly highlighted.