Might I suggest your utility support writing IPS, even if you don't like it, even if you don't make it the default, because plenty of people are going to want to write IPS files. As for your concern about checksums, wouldn't most utilities provide an option or a switch to ignore bad checksums? As long as it's the user's decision in the end, verifying files can't be a bad thing. I can see it helping when dealing with things like headered/headerless ROMs. Or, many NES ROMs have several versions available. I'm looking at SMB3 and I have (not sure what all the codes mean) (J) [h1], (J) [p1], (J) [p1][t1][!], (J) [p2], (PC10), (U), (U)(PRG 0), (U)(PRG 0)[!], (U)(PRG 0) [h1], (U)(PRG 1)[!], (U)(PRG 1) [a1], (U)(PRG 1) [a2], (U)(PRG 1) [a3], (U)(PRG 1) [h1], and (U)(PRG 1) [h2]. I can only hope these are all properly labelled.