Appears that using a PBO and a hidden window context causes strange remnant graphics to appear on the captured output from OpenGL. By strange I mean snow, and lots of random squares -- nothing close to the intended OpenGL scene.
If the window is left visible, it renders properly into the buffer, unless something overlaps part of the window (and then the overlapped region doesn't update in the buffer).
Works fine on a variety of Nvidia products, and tested against Radeon HD 6770 and 2600 XT with no issues. Can't crack the nut on this one.