The 32 bit / 64 bit is likely not the problem (I can launch from 32 bit windows to 64 bit linux). What method are you using to connect to the remote kernel?
I like to use the RemoteMachine function and explicitly set it the way I need. Here is what I use [note some results/inputs are simulated]:
Needs["SubKernels`RemoteKernels`"]
In[292]:= user = $UserName;
ssh = "\\cygwin\\bin\\ssh";
math = "/usr/local/Wolfram/Mathematica/10.1/Executables/MathKernel" <>
" -wstp -linkmode Connect `4` -linkname `2` -subkernel -noinit >& /dev/null &";
number = 1;
machine = "remotemachine.bigtime.com";
remote = SubKernels`RemoteKernels`RemoteMachine[machine,
ssh <> " " <> user <> "@" <> machine <> " \"" <> math <> "\"", number];
In[298]:= remote // InputForm
Out[298]//InputForm=
RemoteMachine["remotemachine.bigtime.com", "\\cygwin\\bin\\ssh bigchad@remotemachine.bigtime.com \
\"/usr/local/Wolfram/Mathematica/10.1/Executables/MathKernel -wstp -linkmode Connect `4` -linkname \
`2` -subkernel -noinit >& /dev/null &\"", 1]
LaunchKernels[remote]
{"KernelObject"[2, "remotemachine.bigtime.com"]}
ParallelEvaluate[$MachineName]
{"remotemachine"}
ParallelEvaluate[3.1/3.21]
{0.965732}
CloseKernels[]
{"KernelObject"[2, "remotemachine.bigtime.com", "<defunct>"]}