One strange thing though is that you must reset the display to windows desktop when switching resolutions inside the program. Or else the desktop will look messed up when you exit you program (at least this is what happens on my drivers/win98).
AP: It''s the same with MFC, yes. Keep in mind switching to fullscreen might mess up any windows you already have showing, but ChangeDisplaySettings is just a windows call so it works no matter how you are displaying your windows. If you want your window to be created in the new mode, be sure to call ChangeDisplaySettings before you create the window.
FXO: There is no workaround.. if you change the settings you must change them back, just like with most things. It''s just like having to call Release() or whatever for DirectX objects, except in DirectX changing screen modes is built into the API and with OpenGL you must rely on the operating system functions to do it, but that doesn''t mean you don''t have to clean up.