1) Flybe have a sponsorship deal for 46 League games.
Why would they accept Saints playing with their logo on the shirt for 45 League games? It would be a breach of contract unless paid off.
2) The whole point of the new shirt is to commemorate 125 years, it detracts somewhat if you wear it in the season before.