It's more flexable: False can represent 'cancelled' or 'expired', whereas setting cancelled=True for an expired timer didn't feel right.
Otherwise get_timeout() keeps broker alive via keep_alive() for a cancelled timer during shutdown.