If you want, you could use an upgrade code and versioning system to do this:
<Product Id="*"
Name="MyApp"
Language="1033"
Version="1.0.0"
Manufacturer="Me"
UpgradeCode="bf35a656-3e28-4f40-9ebd-566174c9c948">
<MajorUpgrade Schedule="afterInstallInitialize" DowngradeErrorMessage="A later version of MyApp is already installed. Setup will now exit."/>
<!-- other stuff -->
</Product>
Key is you always keep the product code to "*" and the "UpgradeCode" constant. This will make is so that when you change the version to 1.0.1 it will remove all previous versions. However, if a user tries to install an older version when he already has the newer version it won't let him/her (unless they manually uninstall first).
Disclaimer: The same version will not trigger the update. Also changing the 4th number (1.0.0.*) will not trigger an update either. It works just fine with a 3 number versioning scheme. In order to have a four number versioning, I would look into designing a bootstrapper (setup.exe) for the software.