I'm using @Asynchronous on a SFSB and I get the expected behaviour. The current thread is not being blocked until the method completes.
However, if I use a non HTTP client and a context lookup, then the active thread is actually being blocked, until the method finishes.
So if use something like:
sfsb = (MySFSB) initialContext.lookup("/myApp/MySFSB/remote"); sfsb.asychronousCall();
Can you check to see if the org.jboss.seam.interceptors.AsynchronousInterceptor.aroundInvoke is being applied (put a breakpoint on the method). And also put a break on org.jboss.seam.intercept.RootInteceptor.invoke and see which branch of the if statement is taken.