@1: Not exactly, with every DNS record there is an explicit of implicit Time to Live, ==> the time that another DNS can cache the answer and dosn't need to ask for a new one...
(default is 24 hours for most setups)
By preparing the move of MX and set it to 5 minutes a few days early, you can modify the record and be cutover in 5 minutes, after everything works again, you can restore the original TTL again.
So the delay is from others NOT ASKING for new the new MX record until the records expires from their caches.
@2: I would assume that stems from attempting to communicate to the OLD server, which presumably was turned off or now rejects mail for the domain. All systems that haven't asked for the new DNS MX record yet are still trying to deliver to the old address.......