The EJB spec does not say, that multiple lookups will return the same instance of a stateful session bean. In opposite: It is even required for the server to create two different instances, to guarantee that every client gets his own instance on the server.
The EJB spec only says that while you're referencing a stateful session bean, it retains its internal state across multiple method invocations:
IStateBean bean = new InitialContext().lookup("app-ear/StateBean/local");
bean.myMethod1();
bean.myMethod2(); // affects the same EJB instance on the server
Note that this might NOT be the case when using stateless session beans. Here, the two method calls shown above might go to different instances on the server!