shared variable (or running total) and conditional suppression should do the trick.
Described in general terms, create a shared variable is being incremented every detail line, reset every group change. In the page header set a variable that is cleared in the detail section (so the report can know if the page has changed). If the page has changed, check the shared variable/running total, if the value <> 0, display the line, otherwise suppress it(this would probably be an added section to either the group header or the detal band...group header would be tested fewer times, so sounds like a slightly better candidate)
HTH