Although it does seem common, to my thinking it does seem a bit odd to force the customer to pay beyond their current payment period. I can understand this where there's a special order involved or a larger value item like a dedicated server where there may be longer contracts in place
For a run of the mill reseller's account then surely there's no financial penalty for the host from their provider and it's pure greed
We're fortunate that we rarely loose a customer, but on the odd occasion we loose a customer (usually because they need something we're not in a position to provide), then we tend to leave the account active for a few days longer than necessary to ensure the customer's service remains up during their transfer process even if it goes into the next billing cycle (obviously we'd need to bill or terminate if this was an ADSL line or dedicated).