I am dealing with same exact issue. As we are also using AGILE Template and TFS State and Reason fields need to be selected in order for the Bugs to go thru their AGILE Workflow.
I created two similar fields in QC 10; TFS State and TFS Reason.
I am able to manipulate the Reason field drop down list depending what State Value is selected.
However I am unable to make this action REQUIRED on QC side.
I avoided coding the ValuesMap.XML as this caused more confusion between Development and Testing Team on how interpret 3 diff States and 13 Diff Reason into 6 or 7 QC Status Values.
I would like to know how can I code QC Workflow so whenever I changes the State value , Reason value becomes Required for a Tester in QC.
I know I need to add code in Bug_MOVETO and BUG_FEILDChange areas however with many tries I am unable to get this action set properly.
We have also added a new TFS State = Active New , in order to differentiate between New Bug Active and Exisiting Bug being in Active New State.
Extra Note :
We also created a Mercury Created by field in order to capture who created the Bug in QC, as our TFS Admin didn't allowed TFSQCSync Account to be a part of TFS Service Accounts -group
However this field is being mapped for TFSQCSynch from both sides, however it not getting update at all.