Primefaces + JSF2 + Tomcat - bean de sessão é reiniciado

Tenho uma aplicação com 2 beans. UsuarioMB @SessionScoped e LivroMB @ViewScoped.
Nas páginas que possuem ui:repeat ou p:dataTable com p:commandLink o método do action não é chamado. Parece que o motivo é pq o bean é reiniciado.

<ui:repeat id="categorias" value="#{usuarioMB.usuarioLogado.comentariosOutros}" var="comentario">
	<p:panel id="panelComentario#{comentario.id}" header="#{comentario.data}" toggleable="true" toggleSpeed="300">
		<h:panelGrid id="gridComentario#{comentario.id}" columns="2" cellpadding="5">
			<p:commandLink action="#{usuarioMB.visualizarPerfil}" ajax="false">
				<p:graphicImage value="resources/images/#{comentario.usuario.nomeImagem}" rendered="#{comentario.usuario.nomeImagem != null}" height="82" width="64" />
				<h:outputText id="txtComentario#{comentario.id}" value="#{comentario.texto}" />
				<f:setPropertyActionListener target="#{usuarioMB.usuario.id}" value="#{comentario.usuario.id}" />
			</p:commandLink>
		</h:panelGrid>
	</p:panel>
	<br/>
</ui:repeat>

Lembrando q esse código está dentro de:

<h:body>
	<f:view>
		<h:form id="formCabecalho">
		</h:form>
	</f:view>
</h:body>

Isso só acontece para estruturas de repetição.

Acho que seu UsuarioMB não pode ser reicializado pq ele esta no escopo Session, já o LivroMB poderia pois tem o escopo View e como o nome diz, uma vez que saia da página, ele morreria.
Vc colocou o ajax como false. Ou seja, vc terá sua página recarregada toda vez que clicar neste link, coloque o seu bean para analisarmos melhor. vc tb poderia usar o h:outputlink

[]s