The Windows installer should just detect whether the CPU is 64 or 32 bit and installed the appropriate components.
Umm, no it shouldn't. What it should do is it should have instructions detailing to the end-user which version they will likely want to install. Which version you want to run depends on your software and applications, not your hardware.
The majority of people are using 32-bit software. In fact, there are very few mainstream applications that run in 64-bit mode. XP Pro x64 uses a 32-bit emulator of sorts. It has two registries, one for x86 and for x64.
You were right when you said they need an OS that can run both. They have that. It's XP x64, the only problem is that they never released it mainstream because of the conflicts. Not all 32-bit apps will run on it, and hardware/driver support was pretty horrible on release (and still is a bit lacking).
What they should have done is marketed the switch to 64-bit in the media, i.e. television. Make the masses of home users excited about 64-bit computing with a commercial. Announce what it does with security, state its speed increase, and the fact that it lets you use up to 16GBs of ram and how that can be of benefit. If home users use it, then businesses would surely use it because of the benefits stated. The switch to Vista could have been delayed another half a year and been 64-bit only, giving extra time to hardware vendors to write new drivers.