I said constant (meant conditional) before – busy irl. “If successful” sets up a conditional ability. The condition is “when this run ends.” You’re right that they both have similar conditions associated with them. But the conditions are not the same. To suggest they are is flat-out wrong.
I’m not saying that you choose upon successful run. I never said that. If you can point to where I said that, I’ll retract that claim. I said that you are forced to choose when the first run from DB ends specifically because the “if successful” trigger sets up a condition that requires it happen after that run ends. This is the condition for the resolution of the second part of Data Breach. You can not use Data Breach’s “if successful…when this run ends” ability after a separate run ends for the simple reason that it is not that same run. The ability isn’t forced to resolve after the first Data Breach. It is a “may” ability.
As I have noted above, Run Events and their “if successful” triggers are directly tied top the resolution of that run, not to other runs or other effects. The card Data Breach can only resolve Data Breach. You cannot “proc” Data Breach off another run that is not Data Breach. Again, remember “when this run ends” is the condition for its resolution.