Ok, the problem is say I create a window at 800x600, but the window ends up a different size (Window cannot be sized by a user). Using WM_SIZE to get the updated sizes for the window class I find that the width and height of the window have shrunk! Usually by 10-20 on both, in the above example something like 792x573 or something like that. Now the problem, the application supports fulscren mode using the default window size of 800x600 but since the values have changed the call to DisplayMode fails since there is no 792x573. The values for the window size stay 800x600 untill WM_SIZE when they get corrupted, after debugging im lost, since the only WM_SIZE called is from the CreateWindowEx call.