Correct, 64-bit compliant code, will not run on a 32-bit machine.
32-bit code, runs on most current 64-bit builds, but not natively. It runs through an emulator, on windows platforms, it's called WOW, just as 16-bit code runs on XP, but again, not natively.

Most of the time, the code will run as expected; newer versions of visual studio have the ability to code for both 32-bit and 64-bit compliant, and you can just choose which one you want to compile, allowing you to actually compile two separate exe's, one that runs 64-bit native, the other that runs 32-bit native.