I am having some trouble with my software GPO's and can't seem to find any answers using Google. I successfully deployed software using my policy but when I delete another, the uninstallation of the software does not take place. What I did:
- Deployed software using a GPO, used
gpupdate /forceon the workstation to update, reboot, and install the software - Deleted another software installation by: Right-Click > All Tasks > Remove > 'Immediately uninstall the software from users and computers'
From there, I did another gpupdate /force to try and get the GPO to refresh and uninstall the software on the workstation. This did not work. I then forced replication between my domain controllers and ran another gpupdate /force on the workstation and this did not uninstall the software. There are not error logs or indications that the uninstall is being triggered when I go into the event viewer, and I know for a fact that the policy is working in other aspects.
So my questions is: Where do I look next to find the answer as to why GPO software deployments are working but un-installations are not, based off of what I have already tried?
Thank you in advance.
UPDATE: After using gpresult /z, there is no indication of a pending un-installation or removal of software. Under the section entitled "Software Installations", the software I am trying to uninstall is not listed. There is no other indication that the software I am trying to uninstall even exists. I also turned on RSoP logging and did (yet another) gpupdate /force to yield no blatant results. There is no indication that an uninstall event was even triggered, let alone incapability or failure.
Although I am sure I marked it to uninstall in case of two events (the falling out of the scope of management, as well as the removal of the entry), I am beginning to think the entry just never triggered something that should have been triggered.
UPDATE #2: After troubleshooting this (frustrating) application assignment, I have chalked it up as a fluke. I have tested with other software to make sure that the uninstall of other application assignments is actually working, so I am assuming it is something related to the package directly. There is the possibility that my problem resides in something related to what @joeqwerty linked in a comment below but because I can't go back in time, I don't think I will be able to prove it. I will probably be running a script via another GPO to guarantee the un-installation of left over package installs. For now, Evan Anderson is getting the answer because of the debugging information I was able to put to good use.
UPDATE #3: After Evan's edit in his answer, I did some more digging. When I deleted the application assignment from my GPO, I actually deleted 2 entries. One was for a previous version and one was for the most updated version (ie: program v1.0 and program v1.1, which updated program v1.0). I checked into the packageFlag for both of these, and one of them indicated that I in fact did not check "uninstall immediatley" (this is v1.0). The most recent update package (v1.1) was set to uninstall and had the following flag: -1610350320. I could not find a description for this flag using any of the resources I typically use, but I am assuming this indicates to uninstall the package immediately (vs -1610612464, which Evan indicated means to leave the package alone). Thank you very much Evan for showing me this resource, I did not know it existed! You were right also, "chalking it up as a fluke" does not sit well with me and I could not stop thinking about what happened.
Thank you to everyone that helped contribute so far!

gpupdate, it disappeared from thegpresultsalso. That is why this entire thing is odd to me, because I am positive that I deliberately checked the radio button to have it uninstall; it just never did. I also know I had checked the box (in the properties of the application assignment) to uninstall in the case of leaving the GPO scope. This alone should have triggered the application to uninstall on client machines. – burmat Nov 13 '12 at 21:38