Hi,
Just to be clear, are you rendering to a window and then calling glReadPixels to read the content into a PBO? If so, that will produce undefined behavior. Rather than using a hidden or obscured window, you should use a framebuffer object and render directly into a texture. You can still call glReadPixels into a PBO if you wish, and the result will be well defined.
Thanks,
Graham