http://bugs.winehq.org/show_bug.cgi?id=34125
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com 2013-07-25 12:54:04 CDT --- I have no idea about anything related to d3d but this looks like where it fails:
--- 118566706:0025:trace:d3d9:d3d9_device_CreateVertexDeclaration iface 0x16d4d0, elements 0x1953365c, declaration 0x19533658. 118566707:0025:Call ntdll.RtlAllocateHeap(00110000,00000008,0000001c) ret=b73fb55e 118566708:0025:Ret ntdll.RtlAllocateHeap() retval=19530bd0 ret=b73fb55e 118566709:0025:trace:d3d9:convert_to_wined3d_declaration d3d9_elements 0x1953365c, wined3d_elements 0x33d448 118566710:0025:Call ntdll.RtlAllocateHeap(00110000,00000000,00000050) ret=b73fb051 118566711:0025:Ret ntdll.RtlAllocateHeap() retval=19531800 ret=b73fb051 118566712:0025:warn:d3d9:convert_to_wined3d_declaration Invalid element type 0xfe. 118566713:0025:Call ntdll.RtlFreeHeap(00110000,00000000,19531800) ret=b73fb15c 118566714:0025:Ret ntdll.RtlFreeHeap() retval=00000001 ret=b73fb15c 118566715:0025:warn:d3d9:vertexdeclaration_init Failed to create wined3d vertex declaration elements, hr 0x80004005. 118566716:0025:warn:d3d9:d3d9_vertex_declaration_create Failed to initialize vertex declaration, hr 0x80004005. ---
It's just a guess, but you could try to zero 'declaration' - out parameter in this call. It's probably possible that application checks for null and if not null it tries to call.