<p>If i make a label in TFS, and later make a new label with the same name... then the old label is replaced by the new one. </p>

<p>How do I prevent TFS from overwriting a label?</p>

The following MSDN article covers
using the Scope of a label to try and minimize the occurrences of these mishaps
:
Using the /Child Option to Avoid Labeling Mishaps
If you issue a label command together with a pre-existing label name and an itemspec that includes files that are already marked by the same label, the value of the /child option determines whether the marked files are updated with new revision information. That is, the files are labeled by the same name, but have different scope.