Is your GL context the current context when you render? i.e. are you either setting it explicitly using CGLSetCurrentContext (or its NS alternative), or better, using CGLMacro.h?
That would be my first guess.
or more in general: how does one debug an OpenGL project, when the output is just artifacts from the graphics card?
Attach OpenGL Profiler to your app and set it to break on any OpenGL error.