It seems like you could fix this (at least for exactly identical content) by generating a fingerprint for each file as it is uploaded. If a file with a given fingerprint is marked as bad, then all existing files with the same fingerprint would be removed (or maybe just recently-uploaded ones, in order to avoid removing too many legitimate files). That being said, it would probably be pretty simple to work around this by varying the content slightly on each upload.