if you using ajaxSingle=true - this means that only select new Value will be applied during request. So when you reRender whole form - all other controls which wasn't processed during request - reseted to prevoius value. And this is the issue of your use case design.
Perhaps our problem, then, is that ui:fragment isn't working as expected. We used to be able to conditionally display ui:fragments and have the children of the fragment display on an a4j reRender...but this is no longer happening after RichFaces 3.2.2.GA.