JBoss4 ignored the annotation: you can use a class, even if some of its annotations are not on the classpath.
The fact that the jndi lookup worked, with the old annotation present (but which was ignored because not on the classpath) and without the jboss4 annotation is: because jboss bound the thing to the default jboss generated jndi name, which is earname/ImplementationClassSimpleName/local (and /remote).