Okay, lets give a scenario and see if anyone can provide best practice for deployment.
I have and application called "App 2.0". I deployed the application using a three stage user based deployment - Alpha, Beta, Prod. Typically I have the deployment scheduled to become available at 4pm the day before it is released with a required install
time of 5 AM. This way it installs right after user login at 8 am.
Alpha is a collection of test accounts strictly for testing the install. Alpha users are excluded from the Beta and Prod collections. Beta contains actual test users that will use the application on live data. Beta users are excluded from Prod
Alpha is deployed week one, Beta week two and Prod week three. The 2.0 app deployed successfully to Alpha, then to Beta and then to Prod. The deployments did not include notifications of install.
Next we had to release "App 2.1". App 2.1 can be installed directly over 2.0, no uninstall or reboot required. I followed the same deployment methodology through Alpha, Beta, Prod. Since 2.0 did not have to be uninstalled, I configured supersedence without
checking the uninstall box. I did select that the old deployment type should be replaced by the new deployment type. Since this is a user based install, I configured it to provide notification to users so they would be aware that App 2.1 was replacing an App
During this set of deployments, no problems were discovered. I have not routinely checked the workstation logs to verify the deployments. I just thought that have the app installed and SCCM reporting 100% indicated success.
I really started seeing problems when "App 2.2" was released. Since App 2.1 was configured with notifications it became apparent fairly quickly that it was not working as expected. App 2.2 deployed at login and 2 hours later users started getting popups
that App 2.1 failed to install. This occurred because the app does not allow a newer version to install over it. I didn't see this in the app 2.1 deployment because the 2.0 deployment did not have notifications enabled.
Now what is even stranger, is that after about 24 hours, SCCM quits trying to install the previous application. At least according to the logs, there is a large gap that coincides with the deployments.
On deployment day, one computer's appenforce log showed 2.2 being deployed to the user at 7:52. Then at 7:56, 10:16, 11:24, 12:20 and 2:12 it attempted to install 2.1. It's been two days since and it hasn't tried to install again.