What about introduce a Wine-specific COM interface called WineDdsInitializer which has only one function WineDdsInitializer_Initialize() that won't fail for uncompressed DDS and cube map. I think this is the simplest solution for the situation here. What do you think?
Sure, that would work.