Ah... Steve. He's an old one. It's been a long time since I've ever seen anyone mention SpinRite.
While Spinrite (+1 on the suggestion, it's a tool I have forgotten) is a decent tool and I still use his ShieldsUp! (never exclusively) to get a general idea what my network looks like from the outside. Steve Gibson is a bit of self proclaimed techno-evangelist that tends to instill a doomsday mentality with his followers. He's got decent tools, I just wish he was a little less doomsdayer and a little bit more realistic with his papers. Take a look at his Raw Socket with XP paper to see just how far off he's gone.
But that is neither here or there.
I assure you, these MP3's are not corrupt because of a bad drive. They are largely corrupt because they are
incomplete. I don't really have any details beyond this or the why of it. It just is.
In any case, all that remains (besides these files) of the HDD in question is an bin image (which I just remembered I have no idea where it is atm). The source HDD was re-purposed and is happily waiting to serve up web pages in my server.

I did locate some promising source code that looks like it does what I want it to do. I'm going to see if I can compile it into a Perl module and reuse one of my comparison scripts. Worst comes to worst, I suppose I could use one of the other pre-made tools to at least remove the known bad files. Then remove duplicates and leave me with a tolerable number of files that listening and filtering them all won't kill me.