I've been doing a bit of WordPress theme building lately. The first time I built a theme (for goingeast.ca – currently down, hopefully back soon), I took a theme that was similar to what I wanted and edited it. I didn't really know what I was doing – this was my first experience with PHP. I pretty much hacked it together.
In developing my original theme for rjh.goingeast.ca (long gone), I used the same approach. It wasn't the most efficient theme, but it certainly did everything I needed it to do.
Since then, I've started creating themes that are mobile friendly – specially that are touch screen mobile friendly. I decided to take advantage of jQueryMobile and integrate the two frameworks – jQueryMobile and WordPress. Rather than start form a theme that was full of stuff I didn't need, I wanted to start with only a shell of a theme. Luckly, there are several folks out there who have kindly provided "blank" WordPress themes, with just the shell of what you need to get your site up and running quickly.
Personally, I've been working with the H5 blank HTML5 theme. I chose this one because I wanted an HTML5-based theme as it aligns best with the mobile devices I want to support (touch-based SmartPhones in particular).
I must starting from "almost" scratch has meant that I've learned a lot more about creating a WordPress Theme – and the themes that I've created do what I want them to do (yay). They are very specific to the sites that I'm working on. I'm not creating themes with the thought of re-use, rather with the intent of single use and specific customizations. Starting from "almost" scratch means that my themes have only what I need in them, making them smaller and hopefully more friendly to mobile devices. That's the theory anyways!