A: The SCCM client keeps track of programs it has already run, so even if a program is offered via a new advertisement, the SCCM client won't reinstall—unless the advertisement is marked as Always rerun program (for the program rerun behavior under the Schedule tab). However, that might not be an option, especially if the advertisement is automatically created by some workflow process.
It's actually the client that tracks the installation history, which you can see through the SCCM Run Advertised Programs control panel applet, shown here.
One way to reset the installation history of a client for test environments (I wouldn't recommend doing this in production) is to run the registry editor (Regedit.exe) as an Administrator. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\SMS\Mobile Client\Software Distribution\Execution History\System and delete the key, such as LAB00022, that relates to the program you want the SCCM client to forget it had ever installed.
Now when an advertisement pushes the program, the client will install it because it has no history of previously installing it.