I think it's good that there's a separate thread for this; it was taking over the other one a bit! I'm still slightly confused as to how the game "counts" things, so I just want to lay some things out (each of which builds on the previous one, so if I'm wrong I can pinpoint where I'm going wrong) and check whether I'm following along correctly:
1) There is a game 'log' that tracks events that have occurred, and exists independently of individual cards. This is necessary so that cards with a condition - e.g. SEA Source's "Play only if the runner made a successful run last turn." - can be played. These cards will send the log yes/no queries like "Did the runner make a successful run last turn?"
[1b) These queries can be compound, such as Notoriety asking "Did the runner make a successful run on HQ this turn AND Did the runner make a successful run on R&D this turn AND Did the runner make a successful run on Archives this turn?"]
2) If an event X is avoided or replaced, it will not be written to the game log: it is only written if it successfully resolves. The replacement will be written to the log, however. So after a Sneakdoor run, the answer to the query "Has there been a successful run on Archives this turn?" will be NO. The answer to "Has there been a successful run on HQ this turn?" will be YES.
3) "The first" instance of something is tracked by the game log, not by individual cards. So if I draw, install Symmetrical Visage, then draw again, I will not gain a credit, because the game saw "the first draw" even if Symmetrical Visage did not.
4) "The first" instance of something is logged when that thing's trigger condition is met, not when it resolves. This is necessary to stop "The first" prevention effects from preventing every instance of something by seeing each one as the first. This means that the answer to the question "Has the first X happened this turn?" is independent of the answer to the question "Has X happened this turn?"
For example, after I run with Sneakdoor Beta, the answer to the query "Has there been a successful run on Archives this turn?" is NO, but the answer to the query "Has there been a first successful run on Archives this turn?" is YES. This is a bit weird, but that's fine: it's impossible to make a consistent, working ruleset where unintuitive stuff doesn't occasionally happen.
Providing all of the above is correct, can I extrapolate from 4 that all counting by the game is done from events whose trigger condition was met, not events that resolved? Does it determine if something is "the second" X through a positive answer to the query "Has there been a first X this turn, AND has there NOT been a second X this turn?" - essentially an inductive form of counting?
To turn this into an example, let's create an imaginary ID, Controlling the Message Badly, which reads "The second time the Runner trashes an installed Corp card each turn, you may trace 4..." The runner runs first click against CtMB, and removes an installed asset from the game with Salsette Slums. For their second click they then run again and trash an installed asset. The ID will trigger, correct? It does not ask the game "Have you already logged the event 'A corp card was trashed' once this turn?" - the answer to which is NO - it asks "Is this the second time a corp card was trashed this turn?"*, which is a completely unrelated question to which the answer is YES. Is that right?
*More fully, "Has there been a first time a corp card was trashed this turn, AND has there NOT been a second time a corp card was trashed this turn?"
Does that all make sense? Or have I got it all wrong somewhere?