I might be on the wrong track here but here goes
Perhaps you use the same @SessionScoped annotation on both cases? Does the example you use do the same thing?
I have understood that if you use the @Named annotation (and are using the
J2EE CDI (Contexts and Dependency Injection))
you should use the annotation used with enterprise beans i.e.
@javax.enterprise.context.SessionScoped
and if you use the @ManagedBean annotation (that is a JSF thing and not a "J2EE wide annotation") you use the JSF annotation meant for JSF beans i.e.
@javax.faces.bean.SessionScoped