The 24 hours is there to make this a revenue stream. Just canceling prior to the ADR is good enough to fill the seats, but that wouldn't add to profits.

A systematic solution to preventing multiple ADRs is the right answer, but again, that's just a cost. There's no financial incentive in doing that.