Really? OpenGL is state based. So when you say glColor4f(0,0,0,0) all fixed function drawing will use the current bound color which is (0,0,0,0).
If you want to "clear" the color after drawing something, just call glColor4f(1,1,1,1).
Whatever man. All I know is I call glColor4f(1, 1, 1, 1) before I render each texture and my textures and my lines can all get along now for some reason. But now
, all my quads are all topsy turvy and won't even render when I give them a color. Why does OpenGL have to be so confuzzling?