As you have it currently, when you wind shot, you will swap to austers staff + grip (not mater what, engaged or otherwise). It should work fine (I never have any problems with my BLM or RDM, both of which switch to club/shield at times).
What I was suggesting was a 3 case system:
1. You want to allow switching of your main/sub, but only when you have less than a certain amount of TP (20 for example)
2. You never want to allow your main/sub to switch no matter what TP level you have (not sure why you would want this, but you may)
3. You want to allow your main/sub switch all the time, no mater what your TP level (Like a mage swaps staffs).
Case 1 is easy to write in a rule for, put something like this at the beginning of the rules section.
Code:
<if TPGT="20">
<action type="disable" slot="main|sub" />
</if>
<else>
<action type="Enable" slot="main|sub" />
</else>
But if you want either case 2 or 3 to happen then you need some way of over ride this rule, which is where a variable come it.
using: //sc var set <varname> <var value>
You can use a macro (or type into console or chat) to change the way SC handles your TP rules at any time.
But that maybe a sledgehammer to crack a nut...
Edit: most of my code examples are for SC2.2, you may need to reconvert your xml to 2.3 or re-write it (I still haven't moved to 2.3).