OK, after messing with this and thanks to the general idea of GClements

I killed my initialization of the Draw rectangle and put it directly into the on Mousemove command

I just pass in the mouse start and end point

I had to make the dc current so this code worked! Thanks guys!

void CGLView::SweepingDrawRect( int x1, int y1, int x2, int y2)
{

wglMakeCurrent(m_hgldc, m_hrc);

glDrawBuffer(GL_FRONT);
glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_XOR);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glDisable(GL_DEPTH_TEST);

//save the projection matrix and the model matrix by putting no ones on stack...
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0, winWidth, 0, winHeight);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

// Perform the logic rendering
glLineWidth(2.0);
if(x1 < x2)
{
glColor4f(1.0f, 1.0f, 1.0f, 0.5f);
}
else
{
glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
}


// glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

glRecti(x1,winHeight-y1,x2,winHeight-y2);
// glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);



// restore the old modelview and projection matrices
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();

glDisable(GL_COLOR_LOGIC_OP);
wglMakeCurrent(NULL, NULL);

}

Then on DeleteDrawRect() <- called on LButtonUP
{
glDisable(GL_COLOR_LOGIC_OP);// just to make sure...


// restore all the drawing modes
glDrawBuffer(GL_BACK);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);

wglMakeCurrent(NULL, NULL);//just to make sure
}