http://bugs.winehq.org/show_bug.cgi?id=20236
--- Comment #9 from Stefan Dösinger stefandoesinger@gmx.at 2010-05-16 03:55:28 --- Ah, that makes more sense now. I guess the game has an exception handler that sees the failed assertion in the driver, tries to handle it, and fails. Thus the crash inside the game.
I suspect the driver is running out of fragment program constants. Can you make a +d3d_shader log? Maybe it is a genuine driver bug, but maybe we can optimize shaders a little bit.