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
For the kernel to be 64-bit would only bring the effective advantage that kernel extensions (i.e., typically drivers) could be 64-bit. In fact, you'd need to have either all 64-bit kernel extensions, or (as is the case now) all 32-bit ones; they need to be native to the architecture of the running kernel.