^ correct, changing the record on your current domain MX record to point to the new email server for your domain (microsoft servers) will depend on the current TTL of your MX record.
So lets say its 24 hours. Now you don't know someone might of just cached that 1 minute before you changed it. So for the next 24 hours they are still going to send mail to your old server.
I would suggest as prelim to moving that you lower the TTL of your MX now to something short, say 5 or 10 minutes. Then when you do change it, you only have to wait 10 minutes before you know everyone on the planet will be pointing to your new MX record.
So for example for neowin.net I query one of their authoritative name servers to get the TTL they have set.
dig @ns1.neowin.net neowin.net MX
;; QUESTION SECTION:
;neowin.net. IN MX
;; ANSWER SECTION:
neowin.net. 21600 IN MX 10 aspmx4.googlemail.com.
neowin.net. 21600 IN MX 10 aspmx5.googlemail.com.
neowin.net. 21600 IN MX 1 aspmx.l.google.com.
neowin.net. 21600 IN MX 5 alt1.aspmx.l.google.com.
neowin.net. 21600 IN MX 5 alt2.aspmx.l.google.com.
neowin.net. 21600 IN MX 10 aspmx2.googlemail.com.
neowin.net. 21600 IN MX 10 aspmx3.googlemail.com.
They have ttl of 21600 seconds or 6 hours. So if neowin changed their MX record this very second, for the next 6 hours it is possible for people to still sending to these googlemail servers. Now in 6 hours 1 second, that cache will expire and their ISP dns will have to lookup the record again - so at that time they would get the new MX record for the domain.
Once the TTL of your old MX record has expired you can shutdown your old server. So the lower the TTL before the move the less time you have to keep your old server online for.
You could if you wanted also just lower your ttl, and then once you make the change just shutdown the old server right away. What should happen is when someone tries to send user in this domain an email and server does not answer it will fall back to try and send the email again later, say 15 minutes. If your TTL is short enough when it goes to try and send it again it should get the new MX record. Most email servers will try and resend email multiple times, increasing the wait time before resend each time to some limit before it kicks it back to the user saying it could not send the message. These retry and wait times will depend on what the admin of the sending server set. But normally your talking hours and hours before you get an actual kickback that could not send.
So if your TTL is short, you should not have any of those issues.