If the game really needs a DIB engine a good discussion here is needed on how to proceed. Writing the DIB engine itself (all the drawing code) is not that hard the most difficult thing is how to properly integrate this all with gdi and wine's x11drv. I don't think wine wants to depend on other libraries like cairo and second integrating those with wine could be tricky aswell. Further Wine might need a gdiplus.dll in the future which offers similar functionality as cairo and friends.
My slightly crazy plan to fix the gaming issues is to write a gdi driver which uses opengl for rendering. To avoid implementing all nasty gdi stuff I hope I can keep a classic hdc and fall back to this(including downloading the surface from opengl, ...). I plan to implement the most common gdi calls, like drawing text.
The problem with just having a gdi engine is that if d3d games call getDC on the render target we would still have to download and upload the whole render target. A game that needs this is Empire Earth, and the D3D7 sdk d3d demos are good testing apps. With implementing the most important gdi calls in gl and a gl renderer for ddraw we can avoid the need for a gdi endine for DDraw and D3D games.