Last week I had a major run in with that problem. Perhaps check out this link at www.cplusplus.com...
http://www.cplusplus.com/forum/windows/14189/
I know it doesn't sound like a cursor related thread, that was indeed the cause of the problem. I really can't help you with the issue from the standpoint of MFC because I don't know it or use it, but in nterms of the Win32 Api, your issue involves the cursor set into the Window Class Structure. Basically, to change the cursor you have to LoadCursor() the one you want, then SetClassLong() it into the WindowClass. Then you have to call SetCursor(). This sequence of operations will change the cursor for every window of the class. If for example its your main dialog and you don't anticipate having multiple instances of it running at the same time, then there is no problem. If you specifically want to only change the cursor for tye specific window, then you need in addition to handle the WM_SETCURSOR message.