It works based upon the 100% certainty that whatever you are, at some point you will cease to be.
On average, regardless of what you are, you are in the middle of your life or existence (some very high variance here).
In order to generalise it to non-certain events, such as a program crash, you'd need to remove the certainty assumption and rejig the consequent statistics - it might be doable, but you wouldn't end up with something quite so clean and simple.
Is it more of a process thing (having to change unit tests, code review, hire new people, etc) that prevents this? Or is it just too risky given the important roles of the mainframes?
Such a change would be transparent to the end user.. Except for gotchas like not all users have the source code for all of their dependencies. What happens if you want to update your program and you have a dependency on a binary from some vendor who went defunct 35 years ago? You're stuck compiling against whatever artifacts you have so does transpiling to C still work?
And note that the Lindy effect is about the expected value (mean). The statement "probably run another T hours without incident" could be interpreted as relating to the median, which is actually a little less than the mean. So the statement should either be "the expected value of the number of hours until the system stops is T", or "the probability of the system running for at least another T hours is a little less than 50%".
[1] Calculation: Lindy proportion 1 corresponds to a Pareto distribution with probability distribution function `a / x^(a+1)` where a = 2 and the range of x is [1, ∞). The cumulative distribution function is `1 - 1/x^a`. So the probability of the remaining lifetime being less than or equal to the observed lifetime is CDF(2) = 0.75.