For the record, I've developed WordPress sites that have been moved and changed not only servers, but domain names as well - there's no need to hard-code anything.
If you use the uploader for you images within posts, then their URL is coded in the database. When the site is moved and the settings are changed, the URL will change along with them.
if you're talking about theme files, all you have o do is use <?php bloginfo('template_directory');?> to provide a path to the theme files (if the image are housed in the theme files), or use <?php bloginfo('home'); ?> to pull in the main URL (you can add to that manually if the images aren't in the theme files.)
This is what I do every time, and I've never had an issue with moving anything.