Are you upgrading versions at the same time? Is the new server on the same IP network?
I'm just finishing a migration but I installed a newer version and then migrated corresponding build slaves and jobs while over time to ensure that they all still worked. As far as the configuration, yes, it is just a matter of copying the Jenkins directory - if I remember correctly. I ran into problems transitioning from a fairly old version of Jenkins to the latest LTS release because of the transition from the obsolete Setenv plug-in to the Envinject plug-in. The environment variables configured in setenv configuration were lost once I edited the job on the new system, so I had to re-configure those jobs to add the environment variables in the new format. Another issue I had was with firewall rules because the new Jenkins server was not in the same IP network. Was the old server upgraded from Hudson and are you installing Jenkins on the new server and then copying the data? You might want to check for path issues in the configuration file and change /var/lib/hudson to /var/lib/jenkins