I am not using GLU for perspective calculation because I need to do my frustum culling with the exact matrix that we use to render.
GLU for the most part is simply a set of convinience methods and wrappers that operate on GL. Its perfectly ok to use something like gluPerspective, since it will create the same GL state as if you'd done it manually. glGet will return the same matricies regardless of how you set it up.
You could use gluPerspective with the same numbers and compare the results to see if you're doing it correctly. I'd guess your aspect is wrong. Often an aspect of 1 looks more correct than a properly calculated one..