Não sei se ajuda, mas em um projeto que estou tivemos o mesmo problema.
No firefox há o reRender da tabela (com breakpoint ele entra no Bean a cada letra digitada), já no IE 6 e 7 não é feita a chamada ao método quando digita-se algo.
No caso que descrevo estamos usando facelets, e usamos o <ui:include> para importar as paginas.
Um de nossas paginas, dentro de um menu, possui uma dataTable com o filterBy, que inicialmente não funcionava dentro da pagina que a importa. Segue a pagina importadora (menu):
component-menu.jsf
<jsp:root xmlns="http://www.w3.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<f:loadBundle basename="ApplicationMessages" var="msg" />
<f:view>
<rich:tabPanel switchType="ajax" styleClass="tab-panel">
<rich:tab label="#{msg.label_tools}">
<h:form id="componentMenu">
<rich:panelMenu style="width:100%" mode="none"
iconExpandedGroup="disc" iconCollapsedGroup="disc"
iconExpandedTopGroup="chevronUp" iconGroupTopPosition="right"
iconCollapsedTopGroup="chevronDown" iconCollapsedTopPosition="right">
<rich:panelMenuGroup label="#{msg.label_tools_criteria}" styleClass="panelMenuGroup">
<rich:panelMenuItem icon="none" styleClass="panelMenuItem">
<ui:include src="/jsf/criterion/menu/criterion-menu.jsf" />
</rich:panelMenuItem>
</rich:panelMenuGroup>
</rich:panelMenu>
</h:form>
</rich:tab>
</rich:tabPanel>
</f:view>
</jsp:root>
E esta é a pagina que está sendo importada:
criterion-menu.jsf
<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root xmlns="http://www.w3.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<f:loadBundle basename="ApplicationMessages" var="msg" />
<rich:dataTable value="#{CriterionBean.allCriterionMenu}" var="criterion" reRender="ds" id="simpletable">
<f:facet name="header">
<rich:columnGroup>
<rich:column>
<h:outputText value="#{msg.label_criterion_menu_type}" />
</rich:column>
<rich:column>
<h:outputText value="#{msg.label_criterion_menu_name}" />
</rich:column>
</rich:columnGroup>
</f:facet>
<rich:column filterBy="#{criterion.enabledFlag}" filterEvent="onkeyup">
<h:outputText value="#{criterion.enabledFlag}" />
</rich:column>
<rich:column filterBy="#{criterion.name}" filterEvent="onkeyup">
<h:outputText value="#{criterion.name}" />
</rich:column>
</rich:dataTable>
</jsp:root>
Esta versão já esta com o problema do filterBy corrigido.
Originalmente o <f:view> estava em ambas as paginas, e o <h:form> estava na segunda pagina (a importada).
Como se pode ver, o <f:view> passou a ficar na pagina que importa (a primeira), assim como o <h:form>. Na pagina importada (a segunda) somente há o código.
Não sei está sendo o caso, mas isto resolveu o nosso problema do filterBy.
Só para constar, testamos e tentamos todas as soluções daqui e de outros foruns. Nenhum funcionou, pois não era aplicavél neste cenário.