Many of such errors caused by incorrect bindings for example.. B.t.w. I never (except when I need it for reRender) set id myself in test apps and any of my aps throw such error.
So priovide concrete case and we will find concrete solution. ;)
Sorry for late answer.
I thought about what you say and I can't remember getting a duplicate ID error in richfaces demo.
So do you think it could be a good strategy to adopt jsf coding style from there (incl. library, web.xml and style of facelets composition)?
This would be a very straight solution for my problem but I took very much time for it ;-)