It sounds like perhaps you're either not using the correct matrix stack or you're not loading an identity matrix before calling gluPerspective(). Your code for setting the perspective should look something like this:
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); //important!
gluPerspective(foo, bar, baz, quux);
If you don't load the identity matrix before calling gluPerspective(), it will multiply whatever matrix is already present by the perspective matrix, giving you gibberish for a projection matrix. I've done this a couple times myself, and the result is usually a black screen like you're describing.