I may be wrong but I am quite sure that the 64-bit version of .NET has no problem calling 32-bit dlls. This should all be abstracted and marshalled anyway.
You are wrong. It's not that easy and it has nothing to do with .NET, but rather Windows. Perhaps it would have been possible to implement something that would work in the most simple cases, but it's very easy to come up with scenarios that just wouldn't work. :)