http://bugs.winehq.org/show_bug.cgi?id=3582
--- Comment #10 from Henry nospam@thenerdshow.com 2008-04-29 00:19:52 --- Moray 3.5 is probably crashing due to the program hard-coding addresses it expects on Windows. In other words, it's not getting the expected pointer address or HWND from wine's winproc and so it tries to access the wrong memory for creating a window and gets a null pointer exception; it could be an application bug, not a wine bug.
Winproc is in wine-source/dlls/user32/winproc.c and that might be a good place to start. wine prior to version 0.9.15 would let you run native user32 (and I believe now that is what I was doing) and then Moray would work (sometimes). Whether or not it would work would depend on where it was loaded (virtual memory layout) since the address changes under linux. The (now old and clunky) workaround was to have wine<0.9.15 users disable exec-shield and selinux. The new wine does not require you to do this. On the other hand, you cannot use native user32 anymore.
At least this is my estimation of the problem based on what I have read on the web.
Some related discussion about wine Winproc http://www.winehq.org/pipermail/wine-patches/2001-July/000768.html