Olá fernando, tudo bom?
Antes de avaliar o que pode ter acontecido, vou dar uma pequena explicação de como o next transforma os dados que vem da requisição.
Basicamente cada parâmetro da requisição é mapeado a uma propriedade do filtro. O mapeamento é feito através do nome. Se chega um parâmetro no seguinte formato data=10/10/2012 e o atributo data do filtro é Date, o next utiliza um formatador para converter a String para Date, e faz o bind.
Para tipos de dados de entidade o next precisa do nome da classe e do valor do id. Suponha que exista uma classe Funcionario e exista um combo para uma propriedade desse tipo. O valor da requisição será funcionario=com.pacote.Funcionario[id=1] onde com.pacote.Funcionario é a classe e id=1 é uma propriedade do objeto. Esse é o segredo do next que facilita enormemente a utilização de combos na aplicação.
Sempre quando o next se depara com um parametro do request no formato xxxx.xxxx.xxxx[xxxx=xxx] ele entende que é uma entidade (como a Funcionario) e faz a conversão antes de repassar para a classe que faz o bind.
Quem faz a tradução de xxx.xxx.xxx[xxx=xxx] para um objeto com valores é o método translateObjectValue, que é o que está dando o erro. Possivelmente foi encontrado um valor com o seguinte formato xxx.xxx.xxx[]. Eu coloquei essa exceção na ultima versão. Ela não existia anteriormente, porém foram feitos vários testes e nenhum deles acusou esse erro erroniamente. Sem essa exceção poderia ser feito um mapeamento incompleto e nenhum erro seria acusado, o que dificultaria o diagnóstico.
Para ver o que pode estar acontecendo sugiro verificar o valor de cada input colocado no HTML. E também, colocar um breakpoint no lugar onde a exceção está ocorrendo para saber em qual parametro que veio do request isso está acontecendo.
Pode até ser que não esteja relacionado com o uso de c:foreachbean.
Após descobrir qual o parâmetro problemático, volte a postar aqui no fórum para descobrirmos a solução para o problema.