Kent Beck include spikes as part of TDD practice, specifically as a method to reduce risk in an uncertain future.
In order to argue your point 1), don't you have to say that spikes are not, or no longer, part of TDD?
The difference is that traditional spikes are discarded ... which means you have to spend time "re-dicovering" how the code works anyway, yes?
Concerning 2), my point stands that your original statement 'At least a week has passed since when you last used the debugger' is not a key indicator of proficiency at TDD.
The rest of your response is advocacy for TDD and "perceived", not a description of how to tell if someone is an expert at TDD, nor necessarily a correct approach for most people. As such, I can only say that my perceptions are different.
Your #6 specifically uses TDD as a negotiation tactic, rather than than as a good engineering practice. That is, the "removes this possible risk" you refer to is personal CYA risk. This is different than the business risk. While those are certainly correlated, good engineering considers the overall economic factors.
In this respect, TDD is especially useful for programmers as programmers usually have less negotiation experience than their managers, and especially less than managers from marketing and sales (to say nothing of the CEO) who are providing the pressure. Pointing to an external guru who says "TDD is the only professional way to do software development" gives these (usually junior) programmers the leverage to do reasonable testing.
Since I am not in that situation, I can choose the development approach which I believe is most appropriate. Which isn't TDD.