Where Microsoft hasn't really shot themselves in the foot here is by releasing "budget" level versions of the operating system. As eluded to, the average joe-user isn't going to know the difference until they get burned with the need to accomplish something that can't be done with the tier they purchased. The average joe-user isn't going to see any other option but to upgrade to the next tier. (If they're smart, they'll return the software where they bought it and pay the difference)
Most likely, they'll get the basic starter version preinstalled with the new computer they buy (after all. that's the cheapest version for the PC manufacturer to bundle)... Except many people will end up needing to go out and buy the next version up. End result is that MS ends up getting money twice for the same user/computer.