I had the exact same problem with WoW on Wine in Arch Linux x86_64 using lib32 compatibility. The game itself (WoW.exe) runs fine but that's not much help because it needs to run Launcher.exe to update itself before it will let you play.
For me it was caused by parts of Wine linked against an old version of libjpeg.so. To find out if this is your problem you need to start it in a terminal and look at the output. Mine says:
$ wine "C:\Program Files\World of Warcraft\Launcher.exe"
err:wincodecs:JpegDecoder_CreateInstance Failed reading JPEG because unable to find libjpeg.so.62
fixme:ole:CoCreateInstance no instance created for interface {9edde9e7-8dee-47ea-99df-e6faf2ed44bf} of class {9456a480-e88b-43ea-9e73-0b2d9b71b1ca}, hres is 0x80004005
err:ole:OleLoadPicture IPersistStream_Load failed
It's missing libjpeg.so.62
Check the version of libjpeg.so installed:
$ ls -l /opt/lib32/usr/lib/libjpeg.so*
lrwxrwxrwx 1 root root 16 Mar 2 14:21 /opt/lib32/usr/lib/libjpeg.so -> libjpeg.so.8.0.1
lrwxrwxrwx 1 root root 16 Mar 2 14:21 /opt/lib32/usr/lib/libjpeg.so.8 -> libjpeg.so.8.0.1
-rwxr-xr-x 1 root root 231570 Mar 2 14:21 /opt/lib32/usr/lib/libjpeg.so.8.0.1
If you have a mismatch downloading the patches from patch mirrors and manually trying to run them doesn't work either, they just display an empty frame. If you run patch from a terminal you can see that the problem is the same, a missing version 6 of libjpeg.so. "libjpeg.so.62" is version 6 apparently. I don't know why it's not called libjpeg.6.2.
The easiest way to fix this problem is to install lib32-libjpeg6, with yaourt do
yaourt -S lib32-libjpeg6
and it should fix the problem.
If you don't have Arch, then you just get version 6/62 of the 32 bit libjpeg. If you can't be bothered going and finding the packaged version for your distro you can use the package file from the link above. Gunzip and untar it (arch packages are standard compressed tarfiles that include a manifest and some script files) and copy all the usr/lib/libjpeg* to wherever your 32 bit libraries go (/opt/lib32/usr/lib in Arch, for example).
$ wget http://mirror.oscc.org.my/archlinux/extra/os/i686/libjpeg-6b-6-i686.pkg.tar.gz
$ tar zxpf libjpeg-6b-6-i686.pkg.tar.gz
$ su
Password:
# cp usr/lib/libjpeg* /opt/lib32/usr/lib
# ldconfig
I'm not sure if ldconfig does anything to 32 bit libraries, but it won't hurt either. In any case the needed symbolic links are already installed.
As mentioned in the Arch forums this problem can be caused by using an old version of Wine and can be fixed by using a different version. My version is lib32-wine-suse. I needed some features from this build so it was easier just to install the old library instead of doing a full wine recompile enabling the options I needed.
Also the lib32-libjpeg6 package is a dependancy of lib32-teamspeak2 (TeamSpeak 2) and lib32-fcc (FirstClass Client Groupware Client) so 32 bit Linux programs can be affected as well.