Thanks. You said "I don't get the header->caps == DDS_CAPS_TEXTURE case ever, except on Wine". Do you mean that if you use native version of d3dx9_36 from both your winxp and win7, you get only DDS_CAPS_TEXTURE with Alistair's tests?
I haven't tried the native DLL on Wine but I expect it to give the same result as on Windows. It isn't an interesting case anyway. What I meant is that at this point only Wine (builtin) gives a different result, as far as I am aware, so that check should only allow the caps == (DDSCAPS_TEXTURE | DDSCAPS_ALPHA) case and be marked with todo_wine. Unless there is some Windows version that gives a different result but I don't see any evidence of that as of now.