But worse in all other cases. If your decision process is such that that weighs in favor of cluttering your codebase with dead code, that's a problem.
And, actually, since the commented code almost certainly isn't being maintained and uncommented for testing as the rest of the codebase evolved, it's probably not even better in the case that decisions are reversed.
> Once it's deleted, there's no way to get it back
There's rewriting it in light of the actual requirements and current state of the rest of the code base.
> Version control isn't reliable.
Neither is unmaintained, commented-out code dragged along with your code base. If your VCS isn't the vastly more reliable of those two things, that's a problem you ought to address.
(Of course, at the time of Mario 64, the calculus might well have favored a different approach.)