All you need is one bad experience to start requiring a signed contract to start working. I would recommend that this should be the policy of all independent developers: it protects both parties and a clearly written, comprehensive contract can help to prevent tension between you and your clients.
As far as your liability question, as I am not a lawyer I have no idea if the document you signed puts you in legal jeopardy.
However, if you are concerned, you should talk to an insurance agent -- when I signed up for my personal umbrella policy, my agent mentioned that she could set me up with business insurance to cover me for work-related negligence lawsuits (or something like that). Might be worth looking into.
Finally, I always have some warranty/liability/damages boilerplate in my contracts. Feel free to use mine in the future (https://gist.github.com/8d1d43bd543e7d6b97de), but I can't attest to its legal durability as, of course, I'm not a lawyer.
Edits: made disclaimer more explicit.