No, there is no better way currently to refresh the class changes (this is something we are working on to improve), you would have to redeploy the application to make the class changes take effect (dynamic reload that you are using is a quick way to do it).
From the stack trace, it seems it did try to reload the application (the reload consists of two parts, unload the old version and load the new version), but loading the new version part failed due to some error. From the stack trace, it seems there is an ejb-ref failed to resolve. You should probably re-examine your application bits to see why the particular ejb-ref would fail to resolve.
[Message sent by forum member 'hzhang_jn' ]
http://forums.java.net/jive/thread.jspa?messageID=371832