I usually let it go the first time if they fix it right away (I dont get charged by the bank) but if it happens again then i charge a fee of $40 and future payments must be etranfer, cash, money order, etc.
Sometimes things happen and its embarrassing enough so i try not to make a big deal out of it.
my contract does state $40 from the first cheque though to deter any 'purposefully bad cheques'