What you describe are dry runs.
Just like the people writing the computer that took us to the moon, I'm pretty sure they tried it before in small-scale simulations before hooking it up to the rocket and letting it go to the moon.
The user was not doing a normal transfer (at least, they didn't want to, but they ended up doing). They didn't know what they were doing at all, a simply Google search would have showed them the way. Using UIs instead of interacting with the contract directly would have prevented them from making the mistake they did. Doing a small test transfer before doing the big one would have revealed what was wrong as well.
It's not that I'm comparing writing software for moon missions with making cryptocurrency transactions. I was directly replying to mox1 implying that writing 100% correct code is impossible and shouldn't be attempted.
The incentive was robust code that would work well, get it done, go to the moon.
Here, machine time is expensive, puts emphasis on code that works, but just barely...
Let's just say NASA would check for the "yup, you are gonna burn some money" case, and reject it.
I think that people are so unlikely to fuck this up that such a check would be rather pointless.