it's not the renderer that is NULL, it is the render buffer : i.e. where the renderer writes data before sending them to the GPU. This method is overidden in derived renderers, this is the default behaviour. Not all renderer will need a render buffer. For instance, the GLPointRenderer doesnt need it as data are taken directly from the particle data. This saves a pass of buffering.
For you error, a gl stack underflow means a GL stack has been popped when it has no more element in it. Typically this will be either a matrix stack or the attrib stack.
Check if you dont have a glPopMatrix that does not go with a glPushMatrix and the same with glPush/PopAttrib. Maybe you re using GLRenderer::save/restoreGLStates. Those must be in couple to.