Hey William,
Since I'm a database developer, and ALWAYS lecture my clients on the importance of a proper backup system, my solution may be a bit goofy.
Most of my work is on site at clients' offices, so the only time a backup is really important is for new clients -- during the initial development cycle. As I'm doing development, I create a backup every twenty minutes. I zip it all into one file, and have an AppleScript that automatically gives it a date and time-stamp as its file name.
Then at the end of the day, I take my most recent backup, and send it to my gmail account. Once a week I go in there and delete all but the most recent backup for each project.

