Yeah, this case difference can lead to some incredibly annoying failures. For a recent update, I had uploaded a version of a package to the management server which started with a lowercase letter. Trying to save some time in the implementation window, I also downloaded the package in CPUSE on the active cluster member. The standby member couldn't talk to the Internet, so I copied the package from the active member's /var/log/CPda/repository and imported it on the standby. I didn't notice this at the time, but the package downloaded on the active and copied to the standby started with an uppercase letter.
When I started the update with CDT in SmartConsole, it pushed the file from the management to the standby and imported it. CPUSE on the standby apparently looks for the package in a case-sensitive way, so didn't recognize that it already had a copy. Both were imported to the same directory in /var/log/CPda/repository, since Linux filesystems are case-sensitive.
The update then failed to install since there were "other files" in the CPUSE repository directory for the package.
SmartConsole reported total success. I realized the member updated WAY too quickly, so I looked at the command line which confirmed the update had not been installed.
Installing updates through SmartConsole works really well as long as you use one consistent source for the packages you're going to install. Either download the package and import that exact package to SmartConsole's repository and to the firewalls, or leave SmartConsole's repository empty and have the firewalls download the package on their own. I favor the former.