To be entirely honest, I am surprised that worked at all. Unless the rendered image is being copied to the window via BltBit, which is a scary thought!, the image should have overwritten anything in the window.
The only way to implement a GUI in OpenGL, to my understanding, is through OpenGL. There are GUI libraries available that make this easier. I'm sorry, I cannot remember the names though. Maybe someone else will step in.