Thanks for the responses guys (Sascha, ignore the ICQ I sent you).

I figured it out :-)

dglOpenGL doesn't fully initialise all the procedure addresses until you activate the rendering context for the first time. I was simply creating the list before the glGenLists hook up had been done.