I decided to make a change in my work-life. I decided to only take jobs/contracts that I'm excited to work on. For me, that largely means graphics and game-engine programming. It's a tremendous amount of work to learn those skills, but when I'm working on graphics programming I feel like I'm programming for myself 90% of my day's.
I guess my advice here is (if you can) walk away, take some time off to recover, and you'll remember why you started programming.