I'm a recent freelance web developer myself, and have found that time management is a big challenge. Not only is the spreadsheet method cumbersome, but it doesn't allow for much transparency with clients.
My solution? Write my own time keeping software.
I've been developing a web-based application that works much like a punch clock. I choose the project I'm working on and click a start button. When I'm done with that project, I can click the stop button and enter some brief work notes. In addition to this basic stuff, it has back end reporting so I can see who owes me money, view an overview of how much I've been working on a monthly basis, and more.
I've also created a client front-end where my clients can login and see what I've been working on, and can see how much time I've spent on various tasks. Additionally, they can see what they owe me for the work and can login and pay me via credit card (through paypal for now, but that may change depending on pricing).
So far, it's working great for me and my clients. I'm still finishing some of the coding of some new features, but figured I should get some beta testers in soon...so if you (or anybody else, really) would like to give it a go, shoot me an email at noyler@gmail.com and I'll demo it for you. After I feel it's a solid product, I figured I could offer it as a service for any freelancer on the web and charge something small for its use...like $5/month or $50/year.
Best of luck to you!