If you use foo_verifier, it tells you whether the MD5 is OK or not. Expand the column, and it will state «(OK)» or «(Fail)».
You still have a copy of the corrupt file?
If I'm not wrong, metaflac --show-md5sum option shows md5 checksum of full input data stream at encode time.
No, I think the damage is permanent. Just like a scratch in a recording from a vinyl; you have copied it with the scratch sound, but encoded it to a new file. The new file cannot tell whether the scratch was supposed to be there, all it knows is that the file integrity is OK (meaning, it contains what it was fed, which includes the scratch).My best guess is as follows:Checksum #1 was created from a best-effort decoding of a damaged file.That best-effort decoding is encoded to a new file. That new file decodes to the same thing as the best-effort of the first one. Only now it does not warn, because it does not know that it was fed a damaged audio stream.