There are a few more things to keep in mind:
-> The DIB engine would not be used to draw to windows or the NULL hwnd. It will be used to draw to device independent bitmaps only.
-> Some applications may *want* to draw to the screen outside their window. I think the dxdiag.exe app does so.
-> Some apps may use ddraw without a window at all
Can you confirm that the apps that show the black screen problem are broken in vista with aero on? This would be a strong indicator that the apps are doing something wrong(Keep in mind that QuickTime changes its behavior with winver=vista). All in all I think this is a hack that's not going to work well, although I did not think about it in detail yet.
First of all, I think we need to do a bit more testing. E.g. test what happens if the app is in fullscreen-exclusive mode and tries to open a regular GDI window. Is it visible? There's also a dx7 sdk sample which illustrates how a GDI window with ddraw works. It works on wine, but I never looked into it in detail.