Well, if the files installed by an msi package are customized by an end user, they will not be replaced. Thats a default windows installer behaviour unless this behaviour is over-ridden by making use of the REINSTALLMODE property. Also, the circumstances under which your user customized file will not be cleaned up during an upgrade depends also on where the standard action:RemoveExistingProducts has been sequenced.
Take a look at: http://blogs.msdn.com/b/astebner/archive/2005/08/30/458295.aspx
to get a better understanding of windows installer replacement logic for non versioned files.
The various locations for RemoveExistingProducts and its effect on the installation can be found at:
http://blogs.msdn.com/b/heaths/archive/2010/04/09/major-upgrades-with-shared-components.aspx
To answer your question, have you explored the following in the Wix toolset:
http://wixtoolset.org/documentation/manual/v3/xsd/util/xmlfile.html
http://wixtoolset.org/documentation/manual/v3/xsd/util/xmlconfig.html
This might just be the one that you are looking for. If this does not suffice, perhaps , a custom action is the way forward.
Hope this helps.