Esto es debido a que tus DNS son normalmente los de tu proveedor de internet, aunque realmente puedes poner el que quieras, cada uno tiene un cache distinto, que normalmente es de 24/48 horas. Esto es debido a que cuando tu cambias de hosting, cambias de servidor, y este cambia la ip, el dns permite resolver una ip apartir de un nombre. Realmente esto se cambia en los servidores troncales. Estos servidores controlan los .com los .es etc...
Un ejemplo, si tu pides a tu dns que quieres ver la web
www.microsoft.com, este si la tiene en cache, te da la ip y tu ya puedes navegar pero si no la tiene primero va a preguntarle a un servidor raiz, este si no conoce microsoft.com, el si que sabe seguro donde te puede enviar, por ejemplo en este caso te diria que el no lo sabe pero que preguntes al servidor .com haber si el lo sabe. Ahora tu dns pregunta al servidor .com si conoces
www.microsoft.com, este si no lo tiene en cache no te responde pero te dice que preguntes al servidor microsoft haber si el conoce esta máquina. Por último tu dns pregunta al servidor microsoft.com donde este si que conoce la máquina
www.microsoft.com y te da la ip.
Imaginate si los dns del mundo no tubieran cahce y estubieran haciendo esto cada vez que quieres ver una web. Iria a pedales todo.
Por lo tanto, siempre que hagas cambios asi calcula unas 48 horas
un saludo