This always boils down to we imported the database and application code, and ran the site once before realizing we needed to change local.xml for database access, changed local.xml and ran it again only to have it redirect to the old domain, so we then changed the baseurls and it still redirects to the old domain despite clearing the cache.
Once you've done that, you've cached all your configuration and Magento redirects till you figure out the alternate caching because it's not stored in the normal place because of not getting file/folder permissions set FIRST before even changing database access and baseurl configuration.
Which is a duplicate of this -> https://stackoverflow.com/a/7144268/722112
Moving Magento actually is a snap when you do this in three steps.
Put Application Code in a tarball on old site, dearchive on new site and change file/folder permissions IMMEDIATELY!! Folders => 755 Files => 644 for most servers AND var/ => 777 recursively.
Use mysqldump to export database, reimport on new server and IMMEDATELY run mysql code to change baseurls. -> https://stackoverflow.com/a/6871195/722112
Only after the above, change credentials in local.xml to allow access to new database.
This guarantees that Magento will put its cache in the proper location on first run, not in system /tmp where you likely cannot access it to delete it and clear cache so you end up with the amazingly undying magento cache that redirects to the old domain and stays around till server reboot.