great question. For now (or at least until I can code a better solution), I am just adding start_gap2, start_gap3, until I've reached a number beyond what we might expect (10 gaps along a 1,000 cm line?).
That said, I can vary the number of gaps that show on the tool by putting some constraints and relevants to reveal the next entry field (or not). The end_gap of the previous record must be smaller than the next start_gap. After entering an end_gap, a new start_gap (start_gapn) will appear unless the "relevant" condition for start_gapn is ${end_gap} <= 9980 is not met. (The 9980 represents 20 cm prior to the end of the line; 20 cm being the minimum gap size.) But the last gap may come well before that in which case the user will leave start_gapn blank. Usign the repeats, I was able to get the Previous End Gap to display, but (back to the original problem) the first value was Null and that was violating my constraint on the start_gap: ${start_gap}<=9980 and (${start_gap}> ${prev_end_gap} or ISNULL(${prev_end_gap}). The ISNULL didn't work.
I see your additional suggestion. I'll give that a try.