The electedTarget field in FirstAvailable is transient. So, if the policy is serialized the target will be lost and the next request will choose a different target.
I'm wondering what the reason for making this transient was.
Having it transient leads to problems if the bean proxy is serialized, since following deserialization another target will be chosen. For example, when a clustered EJB3 SFSB has another bean injected, when the parent context is replicated, the child bean proxy is replicated as well. If there is a failover on a call to the parent, the child proxy is no longer sticky, which can lead to odd behavior (see http://www.jboss.com/index.html?module=bb&op=viewtopic&t=101220).
For the nested SFSB case, this is less of an issue than I was thinking. Most likely the nested SFSB was available on the original node. In that case the call will have been routed locally, bypassing the LB policy. Hence no target will have been selected and there's no loss from not replicating it.