You can't blame the lack of a 64bit transition entirely on MS. They are fighting an uphill battle against lazy developers, and chip companies still releasing 32bit cpus. They have to follow market demands, and unfortunately, right now, the market still demands 32 bit versions of Windows. Linux is in the same boat, at least as far as needing to support hardware is concerned.
Really we can blame MS, 64 bit can run 32bit so yeah it's Microsofts fault, it would not take long at all to rid our selves of 32bit if MS would just stop makeing 32bit. and yes i agree 7 should only be 64bit