Using a tracing program, I found the following when the problem occurs:
glViewport(0,0,1920,1081)
glMatrixMode(GL_MODELVIEW)
glPopMatrix()
glMatrixMode(GL_PROJECTION)
glPopMatrix()
glMatrixMode(GL_TEXTURE)
glPopMatrix()
glMatrixMode(GL_MODELVIEW)
wglSwapBuffers(42010BE0)=true
glEnable(GL_TEXTURE_2D)
wglMakeCurrent(A5010C00,00010003)=false <------------------ This is the problem
wglMakeCurrent(A5010C00,00010003)=false
(repeated another ~10 times)
So basically it's failing here - which is the 2nd window I have open. Very strange.