I like TDD for some things, I've had genuine fist-in-the-air moments when a test passes, but I'm having issues with the fact that I am writing two or three times as much code as I was before, plus I sense a real increase in the complexity of some of my code.
I enjoy some things, writing the tests first creates some nicely decoupled code, and as I say I have had some really great moments when a a complex algorithm finally passes. I was writing some code the other day that converted base 10 numbers into base 36, and I found the tests very helpful while I grappled with my bad mathematics.
It will be very useful when working with dynamic languages, such as Python, when you don't have the safety-net of the compiler, but I'm not convinced that for the sorts of GUI apps I write, that I am really getting an equal return for the time-investment.
Anyway I'm still having fun and I plan to continue with it for the time being.