http://bugs.winehq.org/show_bug.cgi?id=5535
--- Comment #72 from Stefan Dösinger stefandoesinger@gmx.at 2011-06-27 07:58:15 CDT --- I can reproduce the issue. The game tries to fill the entire video memory with surfaces. Each surface gets a DIB section, and GDI runs out of handles. In the old ddraw code it worked because it faked only 8 MB of video memory. Wined3d tries to make a reasonable guess based on your GPU, so usually you have up to two gigs of emulated vidmem.
There are two workarounds: The first is to use the opengl renderer for directdraw, which doesn't need DIB sections for most of its surfaces. Or you could limit the video memory to a small size. See the useful registry keys wiki page for details on both settings.