If a customer goes to reapply a payment and the payment is somehow is process through batch '0' the solution is to isolate the payment in the payment detail and payment tables that are being processed through batch '0'.  Once the payment isolated where you know exactly what one payment does not belong delete the records in the payment detail and payment table.  

Then contact the customer and have them verify the account is where it was originally and have the customer reprocess the payment again.