I have come across this exact fault twice. Both times were with a 'Y' plan system with a three port motorised valve.
It took me some time the first time to find the fault, the second time it didn't
Here's what I found.
If heating only is required, the motorised valve travels to the full extent of its swing to close off the supply to the hot water circuit. When it reaches the full end of its travel, it operates an internal microswitch that switches on the boiler for the radiators. If the microswitch gets worn, the valve doesn't make contact with it every time, so doesn't turn on the boiler. If the hot water circuit is satisfied (live on the grey wire to the valve) then turning the room thermostat up and down doesn't move the valve, it just removes and re-applies the live supply to the microswitch, so the situation persists.
However, when you turn off the supply to the programmer, and thus remove the 'hot water satisfied' signal the valve returns under spring load to the opposite side. Then when power is reapplied it swings back across and makes contact with the microswitch and the heating comes on.
The fault usually occurs when the valve moves from its central position (hot water & heating) to heating only. My guess would be that this is probably because it has less momentum than for a full swing.
It's easy to test. When the problem occurs test for a live on the white wire to the motorised valve and also the orange wire. If the orange one is missing and the white one is present. Then the microswitch is not operating.