Problem solved after much deconstruction.
I am setting a string quartet. In this section almost every note has a glissando, and some become to small to see. So I set this:
\override Glissando #'minimum-length = #5
\override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
This works fine to give the minimum length of the glissandi. It turns out that this was forcing the score over the edge of the paper, not a rhythmic error. Adjusting that solves the problem. It's only when there are a large number of glissandi in the line that it occurs. I report this here in case it may help future archive searchers.
I am also tempted to this this may be a lilypond bug. Why does lilypond not break at a valid barline break in this sort of case? It seems the glissandi are interfering with page breaking. I am not sure.
Andrew