"In normal circumstances there is NEVER a need to run rpi-update as it always gets you to the leading edge firmware and kernel and because that may be a testing version it could leave your RPi unbootable". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Even the rpi-update documentation now warns "Even on Raspbian you should only use this with a good reason. This gets you the latest bleeding edge kernel/firmware."
sudo apt-get update; sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel
will put it back to the latest supported kernel/bootcode.
To answer our last question, yes. As well running apt-get update and apt-get dist-upgrade, make sure you also run rpi-update which will download the latest firmware for all Raspberry PI models. Make sure the following file exists after updating:
Other things to consider when moving SD cards is that the MAC address of your ethernet port will be different which will result in a different IP address being handed out by the router than the one you might expect. However the firmware code (ie. what's in /boot) is designed to be as interchangable as possible between the different PI versions unless of course you have some custom parameters defined in config.txt such as overclocking.
Hope that helps.