Have you got a diff against a current tree anywhere? I can't promise I'll be of any help, but I wouldn't mind taking a look sometime when I can find the time. A small test program might be usefull as well.
I have attached a diff with my getDC implementation against the current tree, and a test application. The GetDC is taken from ddraw, and it's explained in http://article.gmane.org/gmane.comp.emulators.wine.devel/38533/ The problem of this code is that it crashes with a heap corruption sooner or later :(
The test program can be compiled with winelib, you only have to place a image.bmp file into it's folder with the size 640x480 and 24 bit color depth. It should show the image after loading. I wasn't able to run this program on a windows machine, because I didn't have access to one, but I think it should work.
If you have any ideas why GetDC fails, please tell me
Stefan