Do you use any vertex arrays with a color buffer? If so, maybe black is the last color used in that array. Another thing is that you haven’t created a rendering context before getting the current color.
Why bother getting the color values? It is cheaper to always set the color, even when you are setting it to the current color (according to the red book)