Open regedit, and browse to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
In all the subfolders (I had 5), check that all data values (mostly under the name "ProfileImagePath") are on your C:\ drive, if any aren't, change them, and move/merge the corresponding folder.
Then restart, and you
should be able to upgrade!
Literally months of effort to find that fix!
To make this searchable for other people on the net, the error code was:
To upgrade Windows, the Users, Program Files, and Windows directories need to be on the same partition. Upgrading when these directories are not on the same partition is not supported. Moving these directories so that they are on the same partition is also not supported. You can choose to install a new copy of Windows 7 Ultimate instead, but this is different from an upgrade, and does not keep your files, settings, and programs. You’ll need to reinstall any programs using the original installation discs or files. To save your files before installing Windows, back them up to an external location such as a CD, DVD, or external hard drive. To install a new copy of Windows 7 Ultimate, click the Back button in the upper left-hand corner, and select “Custom (advanced)”.
So happy to be on Windows 7 on all computers