See this thread.
The solution given to me was to delete the jre folder that gets unpacked when the clientlauncher.exe is run. This causes the 32bit client to use its installed version of Java rather than the 64bit version that the launcher tries to use.