Probier es z.B. mal unter Windows 9x und vor allem auch mal mit SiS Grafikkartentreibern und bei alten ATI Grafikkarten und deren Treiber (Rage Pro z.B.).
/EDIT:
Ansonsten nochmal dazu die
MSDN:
Zitat von
MSDN GetDeviceCaps(VREFRESH):
Windows NT/2000/XP: For display devices: the current vertical refresh rate of the device, in cycles per second (Hz).
A vertical refresh rate value of 0 or 1 represents the display hardware's default refresh rate. This default rate is typically set by switches on a display card or computer motherboard, or by a configuration program that does not use display functions such as ChangeDisplaySettings.
Mit anderen Worten:
a) Windows 9x ist komplett aussen vor, funktioniert also gar nicht.
b) Eine Rückgabe von 0 oder 1 für die "default refresh rate" würde ChangeDisplaySettings() beim zurücksetzen nicht akzeptieren.
EnumDisplaySettings() selber kann dabei auch 0 bzw. 1 für die "default refresh rate" zurück liefern, aber beim setzen aktzeptiert es ChangeDisplaySettings() nicht - bzw. es ist nicht dokumentiert. Daher kann es dir ein Treiber von einem Hersteller leicht um die Ohren hauen.