There is one problem with this "theory"...
Old programs (32-bit) install default into "program files", because "program files (x86)" did not exist in the past. Also, many 64-bit programs are "default installing" into the "program files (x86)", because they believe the opposite. They believe the (x86)
stands for (64-bit version), rightly, because of the above stated "reality".
This is like selling a sword inscribed "World war I", dated back to the 1st world war. It is impossible to have predicted a 2nd world war, and thus, the sword would never have been inscribed WWI.
This is part of the "issue" windows has, working backwards, avoiding logic. Thus, more time is spent patching the issue, instead of fixing the issue.
The resolution to the issue would have been simply to create a folder called "program files (64bit)", thus, any new programs that were 64-bit would realize they have to install into that one, while old programs that were (32-bit), and naturally try to install
into "program files", would remain installing there.
The ultimate solution would be to make all that irrelevant. The 64-bit versions have an obvious structure change, and can easily be identified. Thus, no 32-bit component should even attempt to run with a 64-bit component, unless it was specifically designed
to. Just as, it would be impossible for an earlier program, in the past, to function with a 64-bit component, since they had not existed yet. While new 32-bit, can function with the 64-bit components, and vice-versa, since they are programmed for it, if they
are programmed for it.
This is just another form of "confusion" that is useless to the user, and to the programs (in reality), since windows "checks" anyways. That is like hiding only some system files, instead of all of them. They are all critical system files, and of no use
to a common user. To an advanced user, we know how to expose them, so why show those who do not know what they are doing, any of those files. Including the variation "program files (x86)", which should not even exist in the first place. One folder, for simplification,
and a flag "64bit", would have sufficed. (For real simplification, the flag should only be on (32-bit), since chances are, those are the OLD programs.)
I can confirm that I have 32-bit programs in my 64-bit folder, and 64-bit programs in my 32-bit folder. Oddly, they all function the same, no matter where they are installed. Though windows may have once originally handled installs the way mentioned above.
This answer is outdated, and currently incorrect, or no longer relevant.