It seems you handled it very well John.
However, I'm with FatalSw1tch on this one I'm afraid. As he says, you should be too lenient. It wasn't your fault, it was his - and if he is a good client, maybe don't charge him everything, but just a little.
For example, one of my employees forgot to invoice a client - it wasn't the client's fault, so I'm not going to charge him for his two months usage; however had it been his fault he would have paid. However of course now I've employeed more people to actually go through each and every account each month making sure they are all up to date with payments, since all my web based clients pay monthly.
You need to really look at the situation, analyse it, look at the available options and then choose the best one for both you and the client.
However you did pretty well with this.

Hopefully it doesn't happen again, as otherwise you certainly should charge the client some of it.