I ran into this same problem with ISSetupFilesCleanup deleting files in C:\. In my case the problem arose with Intel Fortran Compiler 9.1. The problem occurs when I install the MSI without using setup.exe. If setup.exe is usws, the working directory for the ISSetupFilesCleanup action is %temp%. That seems to be where the install extracts some files that will be used by the install processes. However, if the MSI is invoked directly instead of using setup.exe, then the working directory for the ISSetupFilesCleanup action is C:\ and non-system, non-readonly files are deleted.

In my case, I'm deploying the MSI along with an MST that I created as a response transform using InstallShield Editor. A little digging on the Macrovision site found this technote that seems to be a close match to the problem.