Seam does not guarantee component lifecycles for SFSB backed components.
The container controls when SFSB's are removed / timed out. When Seam accesses an SFSB that has been removed by the container, it results in an EJBNoSuchObjectException.
The JBoss specific workaround for Session scoped components is to use the @CacheConfig annotation, setting the idle timeout to match the HttpSession timeout. Similar changes would have to be made to any Conversation scoped component that uses a timeout greater than the default SFSB timeout of 5 minutes (which just happens to be the default timeout for Seam conversations).
There is no workaround for Application scoped components. Once removed by the container, EJBNoSuchObjectException's will continue to be thrown as Seam tries to access them.
Seam's context model needs to somehow guarantee that its SFSB instances aren't removed by the container before Seam is finished with them. And/or, it needs to recover from EJBNoSuchObjectException's more gracefully, especially with regards to Application scoped components for which there is no workaround.