3. Use a delay action to add the upgrade. I suggest a delay of 0.125. This is because you have the requirement set to make sure the upgrade is not present, however, the system could have already added the upgrade in advance, thus doing some fancy computer stuff to mess it up.
*Also, the upgrade you have might only work if you have the commander that enables that ability.
This is a good idea, I'll try this. I actually found when I was trying to remove the upgrade from the abilitiy on_end, it only worked WITH a delay.