If you want to update an existing appstack with an uninstall, make sure that this application is not installed manually (in golden image, by the same msi). The uninstaller action created in the appstack will also trigger an existing manual (not installed by appvolumes) installation.
It is quite complicated. What happens when you remove an application (as I have said this before in other posts) is that the folders are removed from the svroot folder but the snapvol.cfg adds registry keys for these removed folders and marks them as #DELETED#. If you update the appstack, then attach it to a machine that doesn't have an Appvolumse agent, load the snapvol.dat hyve (otherwise you cannot edit the file) and go to the registry key METADATA\FS\SVROOT. When you browse this hyve and go to the Windows folder the application was installed in you should see an svdeleted key inthere and also in the folder itself a REG_BINARY value that is called #DELETED#. If you remove this the specific folder will no longer mask the files in the golden image.
If you only have a few applications in the appstack i would suggest just recreating it.