1. If the windows appear only the first time the user starts the program, then a flag is being written to their user profile, either in the registry or in a configuration file, to record that the display has been made. You need to capture where this is happening and add it to your package.
2. As VBScab has mentioned, this can be the behaviour of an installer that is either designed to be run by a non-admin user or it has been installed by a non-admin user. HOWEVER, it is also possible that the Appdata content is user-specific and needs to stay where it is. Although more commonly found under the "roaming" subfolder, it is not unusual for user config information to be stored under the "local" folder for apps that have a per-user license. Mess with that at your peril.
3. It is interesting to note that you have /PerMachine=False in the UNINSTALL command rather than the INSTALL command. Setting per-user or per-machine configuration is normally only done on install. If /PerMachine=False is the default install option, then try installing with /PerMachine=True and see if your AppData content moves to a "common" area, eg under ProgramData. Suppressing uninstall dialogs is not easily done unless you have access to the installer source. Did you check what installer technology the native install is using? NSIS can be edited and recompiled, and if the internal installer is an MSI, you can harvest it from the TEMP folder (usually), typically when the first install dialog is displayed during a manual installation. Otherwise, you can capture it to an MSI, but you really need to understand how the app works to make sure that you do not mess with file locations and break the application.
Finally, a product called AutoIT by Hiddensoft could offer you a way of managing the dialog on uninstall. Basically you create an AutoIT program that watches for the appearance of the dialog and then presses the appropriate button to make it go away. The user just sees a momentary flash on the screen but does not need to do anything. You would point your app's UnInstallstring in the registry to the AutoIT script which would then run the actual UninstallString and manage the dialog before closing. You could also use AutoIT to manage the installation for you as well as updating the registry, acting as a "wrapper" script for your install.