What if I rephrase your question a bit, and change "TDD" to simply "testing":
I am interested to get a rough idea how much productivity is initially lost, or how much extra time is initially required, due to testing.
First of all, I'm not going to argue that TDD is the same thing as application testing. But, it is obviously a form of testing, and it could easily be grouped alongside application testing in terms of QA. Yet, you'd never hear a programmer asking how much time he needs to "waste" by testing their software, because most programmers simply don't test their own software very thoroughly. In fact, the vast majority of programmers I've met check to see that their code compiles and runs as expected, but usually leave it to the beta testers to do the rigorous testing. They are satisfied when they see that the software runs how they would expect it to run, but it's very hard to test from the end user's point of view when you wrote the software, since you programmed it and already know how it should be used.
However, since TDD involves programming, many developers perceive it as lost time, since they view this as time that could be spent writing application code instead.
I think the better question is, how much time would you be willing to devote to testing in general? If you're ready to say 50%, then dedicate 50% of your hours to programming, 40% to writing test cases, and 10% for higher level application testing (for example). But I would say spending 30-50% of your time writing test cases is a reasonable estimate, and I've heard this same number used by some project managers as well.
Also, keep in mind that TDD advocates using test cases as a debugging tool, not just during the design phase of your software. So when a user reports a bug, the idea is that you first write a test case which replicates the problem which they experience. Then you fix the software so it doesn't happen again. This time, which normally might be billed simply as "debugging", also technically counts as writing test cases, even though you are actually fixing existing code.