If a data file has been updated between the first install and the upgrade then it doesn't get replaced because of the file replacement rules. Files that have been updated by the user don't get replaced.
You can't use those properties because what you're doing with RemovePreviousVersions is (internally) a Windows Installer major upgrade, and those properties don't apply during a major upgrade.
The easiest detour is simply to change the install folder so that all your files go in a new folder and the old ones in the other folder get removed. Add [ProductVersion] to your application folder's directory tree, for example.
Other than that, VS 2008 upgrades behave like updates, and the best general approach is for you to do an update too. Use a custom action, andif you find the Xml file in your app folder then update it in your custom action withnew data.
Another choice is to change your setup to behave like VS 2005 so it uninstalls all the old product first.
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/519faa07-5b4e-4546-bfb3-6f233bf7286f
Phil Wilson