The boiler appears to work - the mid position valve appears to work (?) - neither the boiler or the mid position valve know nor care if the programmer is asking for heat from the timed or the manual setting - the signal to turn on comes down the same piece of wire. For central Heating only the turn on signal goes from programmer - to room stat - to mid position valve - and then to the boiler - sometimes the mid position valve gets stuck and does not send out this CH only fire-up signal request.
If this is the case - stuck valve or broken micro switch inside it - you will get the boiler firing for water only and firing for water and heating together but when the water reaches the required temperature and the system just wants the boiler to run the heating - it will not fire up.
You may just have a programmer problem and not necessarily need a certified engineer.
As a test you might re-programme the programmer to turn on in half an hour to make hot water - have a cup of coffee and see what happens.
Make another test for central heating - another coffee.
Then a manual test - water on its own and then heating on its own.
Be aware that when you do these tests the room stat and or the tank stat may be satisfied and will be preventing the boiler from firing as they should. Run off some hot water - crank up the room stat to get the boiler to fire up.
When you've done this - you will know if you need a new programmer or an engineer.
I am not qualified or experienced to offer this advice - just interested in how they work. Pinch of salt may apply
Good luck...
Peccavi, November 2010