O clienteService tem escopo "session".
Eu não coloquei explicitamente o ajax="true" porque esse é o valor padrão no Primefaces.
Mas enfim, fiz o que vc sugeriu e o selectedEntity permanece null quando eu confirmo (botão SIM) do ConfirmDialog
Abaixo segue o meu XHTML para vocês, de repente estou fazendo algo errado. Reparem que tem o botão Excluir e Alterar, no Alterar o selectedEntity é setado corretamente no Excluir tbm funcionava quando eu mandava excluir direto, agora tendo a confirmação que chega null no método remove
<f:view contentType="text/html"/>
<h:form id="frmPage">
<p:outputPanel id="pForm" style="background-color:#B0C4DE">
<b><i><font size="4" color="#0627D2"> Cadastros - Clientes</font></i></b>
<p:toolbar style="background-color:#B0C4DE">
<p:toolbarGroup>
<p:commandButton id="btnShowFilter" value="Config. filtros" icon="ui-icon-zoomin" style="color:#0066FF;background-color:#F0F8FF" ajax="false" actionListener="#{clienteService.consultar}" disabled="#{clienteService.addUpdtState}"/>
<p:commandButton id="btnConsultar" value="Consultar" ajax="false" icon="ui-icon-search" actionListener="#{clienteService.pesquisar}" style="color:#0066FF;background-color:#F0F8FF" disabled="#{clienteService.addUpdtState}"
/>
<p:separator/>
<p:commandButton id="btnNovo" ajax="false" icon="ui-icon-plusthick" actionListener="#{clienteService.novo}" value="Novo" style="color:#0066FF;background-color:#F0F8FF" disabled="#{clienteService.addUpdtState}"/>
<p:separator/>
<p:commandButton id="btnImprimir" value="Imprimir" icon="ui-icon-print" style="color:#0066FF;background-color:#F0F8FF"/>
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:commandButton id="btnFecharList" value="Sair do cadastro" ajax="false" style="color:#FF0000;background-color:#F0F8FF" actionListener="#{clienteService.closePage}" icon="ui-icon-closethick" disabled="#{clienteService.addUpdtState}"/>
</p:toolbarGroup>
</p:toolbar>
<p:dataTable id="dtCliente" var="cliente" value="#{clienteService.clientes}" emptyMessage="sem registros" rendered="#{clienteService.gridState}"
paginator="true" rows="10" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,30" selection="#{clienteService.selectedEntity}" selectionMode="single" rowKey="#{cliente.id}"
rowStyleClass="#{empty rowIx or rowIx mod 2 ne 0 ? 'even-row' : 'odd-row'}" rowIndexVar="rowIx">
<p:column headerText="Código" style="max-width: 2%; min-width: 2%">
#{cliente.codigo}
</p:column>
<p:column headerText="Nome">
#{cliente.nome}
</p:column>
<p:column headerText="Fantasia">
#{cliente.fantasia}
</p:column>
<p:column headerText="Cidade">
#{cliente.cidade}
</p:column>
<p:column headerText="Estado" style="max-width: 2%; min-width: 2%">
#{cliente.estado}
</p:column>
</p:dataTable>
<p:outputPanel id="pFiltros" rendered="#{clienteService.consultState}">
<h:outputLabel value="Filtros para Consulta" style="font-size:16px;font-style:italic;font-weight:bold;color:#FFFFFF"/>
<h:panelGrid columns="2">
<h:outputLabel for="tfCodigo" value="Código" style="font-size:14px;color:#0627D2">
<p:focus/>
</h:outputLabel>
<p:inputText id="tfCodigo" maxlength="7" size="7" value="#{clienteService.codigoFilter}"/>
<h:outputLabel for="tfFNome" value="Nome" style="font-size:14px;color:#0627D2"/>
<p:inputText id="tfFNome" maxlength="50" size="50" value="#{clienteService.nomeFilter}"/>
<h:outputLabel for="tfFFantasia" value="Fantasia" style="font-size:14px;color:#0627D2"/>
<p:inputText id="tfFFantasia" maxlength="20" size="20" value="#{clienteService.fantasiaFilter}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton id="btnFilterConsultar" icon="ui-icon-search" style="color:#0066FF;background-color:#F0F8FF" value="Confirmar filtros e executar consulta" ajax="false" actionListener="#{clienteService.pesquisar}"/>
<p:commandButton id="btnCancel" icon="ui-icon-arrowreturnthick-1-w" immediate="true" style="color:#FF0000;background-color:#F0F8FF" value="Cancelar filtros e voltar para listagem" ajax="false" actionListener="#{clienteService.closeConsultForm}"/>
</h:panelGrid>
</p:outputPanel>
<p:outputPanel id="pFromAddUpdt" rendered="#{clienteService.addUpdtState}">
<h:outputLabel value="Inserindo/Alterando Cliente" style="font-size:16px;font-style:italic;font-weight:bold;color:#FFFFFF"/>
<h:panelGrid columns="3">
<h:outputLabel for="tfCnpjCpf" value="CNPJ/CPF" style="font-size:14px;color:#0627D2"/>
<p:inputText id="tfCnpjCpf" value="#{clienteService.cnpjCpf}" maxlength="20" size="20" required="true" requiredMessage="CNPJ/CPF é obrigatório">
<p:ajax event="change" process="@this" update=":pFromAddUpdt; :grow" listener="#{clienteService.verificaCpfCnpj}"/>
<p:focus/>
</p:inputText>
<h:message for="tfCnpjCpf" errorClass="error"/>
<h:outputLabel for="tfNome" value="Nome" style="font-size:14px;color:#0627D2"/>
<p:inputText id="tfNome" value="#{clienteService.nome}" maxlength="50" size="50" required="true" requiredMessage="Nome é obrigatório"/>
<h:message for="tfNome" errorClass="error"/>
<h:outputLabel for="tfFantasia" value="Fantasia" style="font-size:14px;color:#0627D2"/>
<p:inputText id="tfFantasia" value="#{clienteService.fantasia}" maxlength="20" size="20" required="true" requiredMessage="Fantasia é obrigatório"/>
<h:message for="tfFantasia" errorClass="error"/>
</h:panelGrid>
<h:panelGrid columns="3">
<p:commandButton icon="ui-icon-disk" id="btnSalvar" ajax="false" actionListener="#{clienteService.save}" value="Salvar" style="color:#0066FF;background-color:#F0F8FF"/>
<h:outputLabel value="" />
<p:commandButton id="btnCancelar" icon="ui-icon-circle-close" ajax="false" actionListener="#{clienteService.closeConsultForm}" value="Cancelar" immediate="true" style="color:#FF0000;background-color:#F0F8FF"/>
</h:panelGrid>
</p:outputPanel>
</p:outputPanel>
</h:form>
<h:form id="dlg">