Will 64-bit miners work on 32-bit machines? I want to distribute some miners, but I prefer not to distribute 2 versions of everything (32-bit and 64-bit).

According to Microsoft, most 32-bit programs run on 64-bit systems. I'm not concerned with that as much as an efficiency drop; will 32-miners be half the optimal speed on a 64-bit system? Additionally, many miners (cgminer/cudaminer) require drivers to be installed; these would obviously have to be 64-bit.

So, should I distribute only one version of the CPU miner (minerd.exe) or will that cause problems or a lack of efficiency?
When you run 32-bit versions of software on 64-bit systems in Windows the applications are executed a bit slower than they would in a 32-bit system mainly because of the WoW64 subsystem that emulates the 32-bit environment. 

On top of that, if your mining software requires lots of physical memory, the 4 GB barrier on the 32-bit architecture (or the 32-bit version of the software running in WoW64) would result in disk swapping for the required but not-available physical memory, which would significantly slow down the whole process especially if your system does not run on SSD disks.

Also note that, although it's rare, it's still possible that the 64-bit version of a program can actually be slower than its 32-bit version, and this occurs in low quality software where data variables are being represented by the biggest-in-size variable types while they shouldn't, which in turn results in the increase of the sizes of pointers that live in the system’s physical memory and from that point on memory swapping is just a few steps away.

So, no, you shouldn't use the same version of software across all your machines.