My apologies, my head was all in PowerStore 3 mode. This is not something that you need to worry about if you are implementing the shipping quote server behavior with eCart. When you add the shipping rule it will only charge shipping for that circumstance.
If you have another shipping charge rule that you will be using with the flat rate rule you can just add a condition to the trigger, add 'based on session variable value' and enter not equal to 1.
This way the first shipping rule you have will not trigger if the session variable is set to 1.