On my OS X box, the kernel is a 32 bit binary and yet it can run a 64 bit binary. How does this work?
cristi:~ diciu$ file ./a.out ./a.out: Mach-O 64-bit executable x
Note that not all 32-bit kernels are capable of running 64-bit processes. Windows certainly doesn't have this property and I've never seen it done on Linux.