Unfortunately, reducing the levels of nested custom controls does not help. I have created a very simple example database that shows the problem. I have a single custom component, containing two labels. Each of these labels is supposed to show the clientside id of the field in the control. On is filled via the beforeRenderResponse, one has a directly computed label value. The latter works in both instances, the first one works only in the first instance and shows the first instances cliendid in the second instance.
Here is the link to the basic example:
http://www.mediafire.com/?onlfaur56sw01bo
(sorry, link dialog says it's invalid, but in fact it's not, another story ...)
There is only a single page in there containing two instances of the same, not nested custom control.
You may find the output of the xpage here:
http://www.dev.pitagora.at/xspprobl.nsf/someXPage.xsp