Hi ALbert,
>1) the other objects in the band have to have their property set to "Fix relative to bottom" (I think - at least that is what worked for me).
This could cause a problem. Using the tecnique presented in the code I sent will cause all of those controls to appear at the bottom of the page. It may require a different approach.
>2) I had to set the height of the box to Max height + 1 - to force the band to the next page
This will force the 3rd from the bottom record to the next page. I would think this would be the desired effect. The idea of setting .Height = .MaxHeightAvailable is to force the 3rd from the bottom record to use all available space on this page, so the 2nd from the bottom record will start on the next page.
>3) your code below no longer compares the height of the box to the max height available - just a skip or for some reason did your logic change on this?
This change was based on you last response. This will force the last 2 records to ALWAYS start on a new page. The previous code would force the last 2 records to appear on the next page ONLY if there wasn't room on the current page to display BOTH records.
I'm still not clear on everything you are trying to accomplish, but I hope this gives you some ideas and a good starting point. The new ReportListener can be very powerful once you understand all the things you can accomplish with it.