Thanks for your help ksak, it's working now.
The situation wasn't helped by the BlazeDS code which uses a strange design pattern so took a while to come up with a graceful implementation.
It isn't clear either in the JavaDoc about the lookup of EJBs. The method name 'lookup' in Context suggests returning a value that may already exist and does not mention that it will create a new one each time.
[Message sent by forum member 'dansiviter' (dansiviter)]
http://forums.java.net/jive/thread.jspa?messageID=280476