Hi Ray, I understand your explanation, but IMO this is a bug. Not only is it different than prior firmware behavior, but it is also different than the way most irrigation controllers work — i.e. they will never corrupt a program due to overlapping programs.
To illustrate the first point, here are two screenshots. This is my actual program from end of last summer. The first image is a preview from that program under FW2.1.0. The second image is the same program under FW2.1.2 (i.e. exported config under 2.1.0 and reimported same config under 2.1.2). This shows the change in behavior, notably that ‘Back (bed)’, ‘Back (swing)’, and ‘Back (swale)’ have missing runs. The new behavior places additional burden on user to tweak the repeat cycle time. For old FW, I deliberately programmed repeat cycle time < program time to ensure additional program iterations ran immediately after the first.
For the second point, consider the Hunter Pro-C controller as one example: http://www.hunterindustries.com/sites/default/files/OM_PROCC_dom.pdf
The Pro-C will automatically stack any programs that overlap
Please consider this as an OpenSprinkler feature request to queue-up any programs which overlap, whether they are separate programs, Repeats of the same program, or Additional Start Times of same program.