I was running a 1 man development company for awhile and at first, I was doing really well. I'd program for 12 hours straight and made significant headway through that period. Over the course of a few months, I noticed myself taking more and more breaks that kept creeping up in time spent. Before I knew it, I was in your boat where there was a 2 hour window in which I got stuff done annd the rest of the day was pretty much a wash. I'd always find something else to do, like research on new technologies, reading the news, discussing development with friends, etc.
As a result, my workload would pile up and in order to counter that, I'd find myself working long hours near the deadline. Now, I've always been a procastinator but not this extent. I just couldn't convince myself to develop. I think a large part of it was that I just didn't feel like I was making headway.
With the downturn, my workload eventually crept to a crawl which only made matters worse. I didn't have the drive to get out and shop for new projects b/c that would mean more drival programming. So I got a typical 40 hour a week job. This, if anything else, has been the most motivational refresh. I now see how lucky I was and how I regret not putting in the time and effort.
That said, my recommendation is to change your work scenario. If you are working for yourself, I recommend taking up a small typical contract and get a wakeup call. If you are working for someone else, I'm not sure what you could do. Maybe try looking for a larger development firm?