Becuase a 64 bit processor has a different architecture to a 32 bit processor you need to use a different compiler to construct meaningfull code or that processor. ie. you need one version of the software to run on the 64 bit and one on the 32 bit. Sme 64 bit processors will run code designed for their 32 bit predecessors, but this code generally tends to run slower than the same code compiled for the 64 bit only.
You won't get 64 bit binaries to run on 32 bit systems however.
Is it just me, or does something smell suspicious about all this?