Can unwritten (but presumably otherwise usable/functional) blocks on an SD ever fail to be readable?
I do believe that SD-cards, like USB memory sticks, are being formatted and quality assured with some sort of mass production tool, and are being formatted with all bad blocks being remapped at the factory, thus there must be no blocks with bad ECC/CRC from the factory.

This does not mean that errors will not appear during operation, it will either self-correct (at the SD-card firmware level), or cause low level operation to fail. Higher level operation, like file system operation, has mechanism to identify constantly failing sector within the cluster and mark respective cluster as bad, excluding it from the read/write pool.

In your case error happens outside of the file system, and the only way to attempt to recover it is to overwrite it - as you say - create new set of data + CRC.

As to the question why it happens for you - it is not possible to identify without looking at how and where it fails, and overwriting the sector may "revive" the sector (logically, not necessarily physically) and there will be no evidence any more.

There's a utility called "SD Memory Card Formatter - SD Association", you can use it to perform full format of the card, and be sure that if there was a bad block it will be remapped.