From an email thread with Brian:
The EJB3 SFSB layer needs access to the data in the relevant node when it gets a nodePassivated(fqn, true) callback. It needs it so it can get the bean context and invoke any @PrePassivate methods.
When it gets the data, it can't go through the interceptor chain or that causes a bunch of problems that we sorted last fall and early this year.
In CR2 getting this data w/o going through the interceptors is now impossible, at least w/o some nasty hacks I haven't dreamed up yet. In 1.4 we did it with the now removed peek() method. Earlier in 2.0 we used Option.setBypassInterceptorChain(), but it seems that is now gone as well.
How about we change the method signature of the notification to provide the data in the callback? Looking at the PassivationInterceptor, this is easy to do – the data map is sitting right there. If we do, this data param should be null in the 'post' callback.