Wiring a standard S or Y plan the cylinderstat has to switch the hot water OFF not just have an ON (calling). As systems get more complex, heating only required at times, then you need to use the 'Hot Water Off' contact on the programmer.
Using programmable roomstats makes it all simple:
Heating zones;
Each roomstat has a live from the heating system isolator, it has it's own program so decides when heating is required occording to both time and room temperature.
It control a 2 port zone valve, calling or not.
The zone valve controls the boiler (and pump) via the microswitch.
You can common all the boiler SwL (Orange) wire if you have 2 or a hundred, the microswitch stops feedback.
No system water bypass is needed as the zone valve opens before the SwL is contacted so the boiler/pump always has somewhere for water to go.
Hot water;
Heating system isolator supplies the hot water timer, when 'On' a live goes to the cylinderstat, only use the 'calling' contact (NO HOT WATER OFF IS REQUIRED) which opens the zone valve for the hot water, it opens and the microswitch sends the SwL to the boiler. (Exactly like the heating zones.)
If a system your working on has a 3 port mid position valve then the hot water must be taken off that and a 'hot water off' taken from both the cylinderstat and the programmer or the valve won't move past the mid position to heating only and supply the boiler SwL via the orange wire.
Look on Honeywell's site and see how they are wired AND plumbed as you MUST use the correct port for the hot water, must use the 'Hot Water Off' if you want a heating only option.
As I said the standard sytem configiuration is outdated and needs scrapping, I have reels of five and seven core as you need it to make things work if existing systems keep getting added to, valves and pumps all over the place, standard roomstats that have been upgraded needing a 3c & E as they need a neutral for the compensation resistor.
In my experience it's far quicker and you get a very simple and reliable system if you just go the programmable roomstat route, each zone is fully programmable, each zone gives boiler lockout. (Required by the Building Regs so the boiler doesn't keep cycling on the boiler temp stat.) The client can easily program each stat so upstairs and down can be different, odd rooms or an extension different, the programer is on the stat so right there where the temperature is set so no confusion over which channel does what on a multi channel programmer.