Re: GLX Pixmap destroy issue
After reviewing the spec further, it looks like all GLX objects are covered by the address space rule, not just share lists. This means my suggestion was incorrect, it is not possible to share a GLX drawable among direct rendering contexts in different processes. Please review section 2.3 of the GLX 1.4 spec for details.
If you can not rework your application to use FBO, you'll have to add a copy step to retrieve the contents of the pixmap with X commands, and then download it to a texture in the compositing process. The download and upload should be accelerated, so assuming your bottleneck is the rendering itself, this should only have a minor affect on performance.
Alternatively, you could make your compositing process an actual composite manager and have your rendering apps render to redirected GLX windows instead of GLX pixmaps. This would probably only be practical if the machine is dedicated to running this one application.
If the above solutions are not sufficient, I encourage you to get in touch with our developer relations department by becoming a registered developer on nvidia web site. They can work with you optimize your application flow to get the best performance on our driver.