the more variable the length is, if can grow is on or not tend to make this hard.
what you are looking to do, it to keep track of where the report is on the page. I would create a shared variable and set it to the height of the page header, in the page header.
Then for EVERY section that is printed, increment the shared variable by the height of the section. If the section Can Grow because a field inside Can Grow, then you will need to determine how big the section is. I don't know about font sizes/styles, character length, and Crystal won't tell you, at least no one has reported how to do that. So you are left to determine how big a section is.
Finally, in the section that you want to modify, you will need to compare where you are on the page, and if it too low or too high to respond correctly. I realize that this isn't too detailed, but shared variables are easy to use, it is implementing the concept that is difficult in this case.
I don't have links or lines of code. I make them up as I go. You might try looking for previous posts that reference page breaks, that is what people are usually looking to do.