Now that we have a reservenumber column in the reserves table (Bug 4806), the holds deletion process (Reserves::ModReserve) should use reservenumber instead of borrowernumber + biblionumber. Making this change would allow the deletion of one duplicate hold without deleting all duplicate copies of the hold at once.
I've suggested to revert 4806, as the main bug for reservenumber has never been applied. If bug 4608 is reverted, then owen comment become irrelevant, even if it's still a good idea to have reservenumber in the reserve/old_reserve table
We now have a unique key for reserves and old_reserves and also a patch to make all subs use that number (see bug 7065 and bug 9394).
*** This bug has been marked as a duplicate of bug 9394 ***