Greg sent me this article wherein the author uses TDD to basically reverse engineer himself an API for a webservice. The first thing that popped into my head was that he was doing programatic exploratory testing. Sure beats doing it manually and as mentioned in the article the unit tests become a great status monitor (regression).