From your description it looks like glReadPixels failed (GL_RGB not supported -> undefined buffer content, just check glGetError response). I can't say off the top of my head what the usual implementation response to the extra format is. I suggest you find out or stick with GL_RGBA.
See also
Also, why do you decrement width and height by 1 for reading? You don't specify a coordinate but dimensions, unless you have a specific reason to do so
