to add to what mitchgo said i would program a "mock" start time to double check controller function before walking away and assuming all is well
example:
set program A start time #2 for a start just a few minutes from whatever time the controller has (so if its 12:45pm set a start at 1:00pm). make sure whatever day it is you have turned that day on. now sit back and wait, at 1:00pm zone #1 should kick on. turn controller off before it cycles all the way though, we just wanted to see it start. dont forget to erase that "mock" start time.
99% percent of the time these programmed "non-starts" are a programing error of one sort or another, typically if a controller will manual correctly it will run in automatic correctly, with a few exceptions.