For the second part, I dont think about it as you sold a month of work. You just agreed with a customer that this task is worth X amount of money. If you managed to do it in one hour, that's just good business.
I still think they could have charged for less than the full month. The goodwill and trust that would have engendered would probably have been more than worth it in the long run.
That's not ethical if it's a time&materials statement work agreement (because it's an estimate; if the actual work takes 10% over you bill that).
If it was a fixed-bid, then yeah it's completely fine. Though usually I'd say there should be a bit more time spent delivering some additional (canned) documentation and the like.
That would require that you eat up the cost if something takes more time. Most of the time the customer will pay for the additional time or at least part of it.