The Reminder Sender Job uses tomorrows date to determine which:
reminders to processes i.e. all reminder items with a Send date <= tomorrow are processed
reminders to cancel i.e. all reminders with a Send date + Cancel interval <= tomorrow are cancelled
When the cancel interval is 1 day (i.e. one day after the reminder should have been sent), the reminder can be cancelled too early.
To avoid this:
use tomorrow's date to determine which reminders to send
use today's date to determine which reminders to cancel
The workaround is to use a minimum 2 day cancel interval