My initial thoughts...It may be premature to assume that the BES has faulty logic. You make the assumption that the update package you are pushing is correct from the vendor. While BES is not perfect, I've run across plenty of 3rd party apps that put together some sloppy apps once 5.0 was released.
Here is how I understand the process of 3rd party apps being pushed by BES works. You have the shared location of your app. You assign it to users/groups. BES pushes it out per s/w config and app control policy. BES periodically checks this same location and compares it with what is on the device. This is done to make sure that you have not changed a setting in the config or app control policy. One every 4 hours, if I recall correctly. It arrives to the device and installs. All is good.
Now the update...You get the updated files. You place them in the same location as the original files. BES, uses the same s/w config and app control policy to check the updated version with the version on the device. There is an ID that BES uses to check against the updated and installed version. Once it sees the change, BES will send the update to the device.
I've updated two 3rd party apps this way and I can't recall seeing Step2 and Step3 in that order, though it's been 6 months or more. I think I would have recalled something off like that, since I wasn't sure how it was supposed to work.
Just my thoughts. I would check with the vendor to make sure your update is compatible with your BES version. I know one of my apps had to get a hotfix after BES 5.0, even though I was "assured" it would work and it didn't.
Hope that helped? Maybe not.