Some CIs immediately drop a client like this as though they will punish the client and make themselves feel better.
I don't believe in dropping a client unless you think that the job has just plain become unprofitable.
If you have too much business you can dump them. I'd keep working with them. Give them the cautions about no warranty, no free service calls if the remote locks up (do this professionally, not wave your finger in their face style) and so on.
If you are charging straight time for programming then just keep on that road. If you allowed 2 hours or 4 or whatever, then you might want to decide whether to go on straight hourly with the programming.
I'd keep the client and the business. Why do you spend all that time to get a client you hope to have for years to come (upgrades, referrals) and then dump him? Lick your wounds, think how you could have addressed such issues earlier on and avoided the pain, but keep on working.
There is no truth anymore. Only assertions. The internet world has no interest in truth, only vindication for preconceived assumptions.