After searching far and wide for the solution to this, the only one I have been able to find that verifiably works is to the render a face to a framebuffer and then use a memcpy to copy that framebuffer over to the respective part of the cubemap image.
This sounds stupid.
So I ask: Surely there must be some way to render directly to one face of a cubemap image, seeing as it's such an important feature in a whole lot of 3D rendering techniques. How do you do it?