If you don't uninstall all the features, the Windows Installer will keep the old product on the machine. This often happens when a Condition
under a Feature
evaluates to false during uninstall. You've found another way to hit that scenario. This confuses people pretty much every time it happens.
Short answer: you can't do what you are trying to do with features.