You could use the WiMakCab.vbs utility supplied with the Windows Installer SDK (itself part of the Microsoft Platform SDK for Windows Server 2003 SP1).
This procedure should work :-
First perform an administrative installation of the original vendor's MSI using
msiexec /a <MSI Package.msi>
to a temporary folder of your choice.
Place the WiMakCab.vbs script file in the same administrative installation folder you just created.
Launch a command prompt window with the administrative folder set as the default, then issue the following command :
wimakcab.vbs "MSI Package.msi" data1 /C /U /E
This should modify the MSI file so it will contain an internal compressed cab, named data1.cab - check the size of the MSI, it should have increased significantly from the vendor's original.
Again, you could then use this new "base" MSI to create any transforms you need subsequently.
Then create snap of upgrade to 9.5.1.
Create an msi with no add/remove program function. (You will need to always uninstall 9.5 first to retrieve license and return it to license server)
If .dll causes issues on compile follow this to fix it.