I just signed up for Mozy for a measly $54/year. I have almost 9GB of data backed up to their servers that took about a week to completely upload from my laptop when I was occasionally connected to the internet and not using it. I have a very small consulting business and I don't have time to juggle hard drives, run to the bank to keep a secure offsite backup or spend time worrying about my data.
If I don't pay my bill, the data does disappear. So What? I probably moved to a different service or a local backup solution at that point, or my business failed and the backups are the least of my concerns.
You may think it is expensive, but I find it to be a deal. I don't know what it would cost me to replace my data, but it far exceeds the cost in time or money of backing up using Mozy. You may have a different cost/benefit balance sheet and find that these services are too expensive and you may have other reasons you are not comfortable using them. That is fine, but understand your needs are not the same as the millions of people who do find value in online backup.
The problem you are describing here isn't a self-employment problem, it is a project management problem. If you had created a project plan and built realistic time expectations with your customer, then he could not have been irate. He would have signed off on the project plan, the schedule, and would have been kept abreast of the project's progress via milestones and a strong communication plan.
This is going to be a problem whether you are self-employed or work for $MegaCorp.
I've noticed several design suggestions in your code.