Regarding the format ordering, I think you should enforce a couple of attributes to sort by default. For instance `WGL_ACCELERATION_ARB` seems to be appropriate, so that non-accelerated formats always go last, unless explicitly requested. Similarly it seems to me that native avoids offering accum buffer if possible, and they should be put to lower priority by default.
Then, WGL_COLOR_BITS_ARB may also need some tweaking. If it is specified you will sort the formats by increasing color bits, and it will offer 16bpp formats first if WGL_COLOR_BITS_ARB value is 16. Native seems to always prefer 24/32bit or higher here (native AMD doesn't even have accelerated 16bpp but NVIDIA does).