It turns out that FF8Config calls IDirect3DImpl_2_EnumDevices (2 times) but then calls GL_IDirect3DImpl_3_CreateDevice.
Could you send me a +ddraw trace of the problem happening ?
If this is what I think, the fix will be very easy to do and simplify our code a little bit.
Basically, we have one GUID per D3DDevice revision... And according to what you tell, this must be wrong => one just have to change the code to always report only one GUID and after do the dynamic COM cast according to the interface calling the function.
I will see what I can do this evening.
Lionel