If you're up front and reasonable, you're more likely to convert developers to pay for the new API. If you do it last minute, not only can't developers make the switch in time, you've lost their trust, making it harder to convince developers to bother investing their time and resources.
It goes both ways.
Btw, he had a contract.