I have a TFS 2010 Team Project that I\'ve just taken over. The branching hierarchy is Dev is a child of Test, Test is a child of Main e.g.
Main
Excellent question! I don't have the direct answer but I have suggestion to reduce risk of future occurrences:
Severely restrict who has rights to merge to parent branches, especially to the Main branch. I designate one Dev Lead or Sr. Dev as a branch owner who is responsible for RI merges to that branch. (Admins can also cover without needing extra privileges.)
This doesn't help you once the baseless merge creates a new relationship, but it should reduce the risk of unintended recurrence in the future. There might also be a valid case where jumping your Test branch would be necessary, but I can't think of any good reason for doing so.