I once (accidentally) went over on my data and was automatically given an extra amount. I think it should be optional if you want that extra data. If you chose not to have anymore your data usage should be cut off.
Maybe there could be a text message way of letting you go over your data amount. So you would have the option to stop using data once you reach your cap but if you wanted to pay for the overage you could text a message and that would give you the next allowance of data. That way you're not stuck.
PC Mobile has this feature. You can disable both voice and data overages so a customer can only call within their unlimited evenings/weekends zone if they're not on an Unlimited voice plan and data caps entirely, but the overage stacks can easily be enabled again if you need it.