It seems that if WinVer is set to nt40, java runs happily (although not without issues of course).
Uwe found it was due to threading some time ago, I think wine stores something at the wrong place. I still get warnings about stack guards, but they don't seem to cause issues.
Next problem - java appears to use DirectDraw? It wipes out the screen contents in the same way QuickTime did when using DirectDraw, which obviously gets in the way of working with the app :)
More debugging needed....