Couple of questions for you:
1) Considering that you are using SCCM, I assume you are running the processes with SYSTEM credentials on the PCs. Can you confirm?
2) What happens when you manually run the uninstall process with SYSTEM credentials on one of your systems? You can do this by using "psexec" from the SysInternals suite:
- open a command prompt using "Run as administrator"
- execute "psexec -s -d -i cmd.exe" to open a command prompt with SYSTEM credentials
- execute "whoami" to verify success
- execute "msiexec /x {D4DE00A5-606C-414A-B712-8B85682C0E40} /l*v uninstall.log"
You will have to manually type in the uninstall password for this session. The file "uninstall.log" will contain details of what is going on with the uninstall process. You will want to carefully examine the "uninstall.log" file. Especially the sections that start with "ISSetAllUsers" and "BlockWrongContext".
With regards to the INSTALL process you should also test this using the following command line, executed under SYSTEM credentials like SCCM would be doing (see above):
- execute "msiexec /i eps.msi /l*v install.log"
You will want to carefully review the file install.log. I will not be surprised for you to find out that the installer reverts to using a previous version of the "eps.msi" installer than the one you *think* it is using. This is because the UNINSTALL process is not always properly removing all registry keys of the previous installation and as a result the installer may revert to using the previous "install source" - which could be the version of "eps.msi" somehwere in your SCCM cache folders located in c:\Windows\ccmcache\xxx...
The installers are buggy. You need to double-check that the system is doing what you think it is doing...