I found that the reason the Installer doesn't seem to overwrite files is because the .MSI file itself is cached on the target machine and according to Microsoft the only way to ensure that your changes are incorporated into the product installation, you must uninstall any older version of the .MSI file before you run the newer version. Their recommendation is as follows:
--------------------------------------------------------
To run an installer package file from Windows Explorer
Before starting this procedure, make sure you have built the installer project (.wip) file into an installer package (.msi) file.
In Windows Explorer, navigate to the installer package (.msi) file you want to run.
If this is a changed installer, right-click the .msi file name and then select Uninstall from the context menu. Follow the prompts to complete the uninstall procedure.
After the uninstallation is complete, right-click the .msi file name in Windows Explorer again.
Select the context menu option corresponding to the installation type:
Select Install for an installation to a local drive.
–or–
Select Install to Network for a network installation to a server.
Follow the prompts to complete the installation.
------------------------------------------------------
In my case, however, I wanted to perform the installation via another VB program. So what I did was to shell out to the installer program requesting the uninstall and then shell out to it again requesting the install.
To perform the uninstall:
"C:\WINDOWS\System32\msiexec.exe" /x "name of MSI file"
To perform the install:
"C:\WINDOWS\System32\msiexec.exe" /i "name of MSI file"