I apologise that I probabily will not able to create this patch myself, but I am primarily an OS X user nowadays and I have always favoured MSVC on Windows. I will endeavour to get a working GCC compiler under Windows and have a go at creating the patch I describe, but this may not be for some while.
I note in src/win/wddmode.c line 395 that the Windows/DirectX response to a request_refresh_rate is that if the exact rate requested isn't available, then Allegro just allows Windows to provide the default. Conversely under OS X, XDGA and VESA 3.0, if the exact rate isn't requested then the closest available is used.
I therefore think it would be more consistent, and more useful to the end user, if IDirectDraw2::EnumDisplayModes was used to find the closest available refresh rate - in a manner broadly analogous to the existing DGA implementation.
Out of curiousity, why does the DGA implementation only accept a refresh rate that is at least what the user requested? If they ask for, e.g. 71, wouldn't they rather have 70 than 85?