I found a workaround: if I disable double buffering and don't call SwapBuffers after redrawing the window, then the issue disappears, and furthermore, it appears as if double buffering is still performed!
This is really strange, and I don't think this workaround will work elsewhere, unless WGL always double buffers, and uses hardware page flipping if you explicitly ask for it, or something.
If anybody has UI redraw issues and they're not using this adapter, or not running Windows at all, let me know!
Update: I found the right fix. On Windows, the glSwapHintRectWIN function must be called before
SwapBufferswhen doing a partial redraw. Turns out this function is not necessary with most drivers, but Intel drivers are picky when it comes to this. Good to resolve this one, finally. The fix is in the darcs repository.