You can see why adapting WFO cycles to seasons is no good idea when you imagine the consequences of some examples - like a WFO training cycle of 4 calendar days followed by a test cycle of 1 day. Still, statements of extensive experience always impress me mightily.

Handling holidays or weekends is probably not too difficult since there are no holidays or weekends in historical data. But I do not think that season synchronized WFO cycles can be programmed by script. This had to be implemented in the platform. You may ask Zorro support. They'll implement anything, if not for a good reason, then for good money.

All market parameters like spread etc that change in real time are automatically updated in real time. Any exceptions are broker specific and explicitely mentioned in the manual. Prices in Zorro variables are ask prices. The meaning of a trade ID number depends on the broker. If the broker uses no trade IDs at all, then I guess the number has no deep meaning.

The statistical profit in pips is your wins in pips minus your losses in pips. The profit of a trade is based on the sell price minus the fill price. Whether it's really the fill price depends on the broker API, but as far as I know, all broker APIs report the fill price.

When I have some more time, I will also attempt to answer some of the the rest of your questions.