This is most likely a well known fact that when you are merging/releasing changeset from one branch, you are not releasing changes made in that changeset but are releasing all the changes in all the files in that changeset upto that point.
meaning, if a file1.cs was modified by changeset 10 and 11 and i decide to merge changeset 11 to other branch, it actually is going to include changes in my file1.cs file done by changeset 10 too.
Having said that, how do i have TFS makes ure that does not happen or warn me when it does happen?