It doesn't just cover up for conditions which can only be caused by faulty hardware for several reasons, one if that if a fault happens again later in a undetectable way it can cause you unrecoverable loss (as mentioned). Two is because checking that the computer did what it was supposed to do adds overhead and so there is only enough of that to tell if something is seriously wrong, not enough to tell exactly what. Three is that having enough data to recover would require more storage... the error you sound like you're seeing is a leveldb error in the chainstate database, not an error with a Bitcoin block. With the database corrupt it cant fix it by just downloading something again, it must rebuild it. And, forth and finally, recovering a single system from an impossible state--even where possible-- requires extra code which must be written and tested and could later cause bugs, these are real costs which are hard to justify for something should only happen on broken hardware (which is doomed no matter what the software does) so it isn't added lightly.
Sorry you're having problems, but as you note your other system doesn't have these issues. A reindex should take only a few hours maximum (though if your disk is failing that can drastically increase the time.), here they take me under 2 hours though YMMV a bit due to system speed.
I just got a new SSHD, and like I said, if necessary I will give QT its own SSD to run on.