Bitmap selection only works on memory DC's. Is that DC a memory DC?
I also see that the SetPixel() calls are in a different function. You have a Load() function that saves the handle to the DC. This is not good practice. The step() function should receive the DC and immediately use it. DC's are short lived and are recycled a lot, so holding on to a HDC for too long is useless and counter productive.