As far as I can tell the situtation is this:
Windows Installer caches msi installation packages in a hidden folder at "%SYSTEMROOT%/Installer". The msi packages cached here are stripped from embedded cabinets, so the whole cache is only useful for doing the uninstallation. When Windows Installer
is uninstalling a product it does not need the files themselves only the list files which it has to delete. So what Windows Installer does is logical and saves disk space, except for Windows Installer 5, which caches the whole msi package with all its embedded
cabinates, thus eating up a lot of disk space and still using the cached package for uninstallation purposes only.
When it comes to repairing an installation Windows Installer will not use its cache but will look for the original msi package at the location where it was installed from. Actually the user will be prompted for the location of the msi file if the msi is
not found at the original location. But the user will not be able to provide such location because my msi is embedded into the bootstrapper!
CABPATH would not be a bad choice but it is inside TEMP which can get cleaned up easily, a more permanent folder would be a better choice.