How did you migrate your site? Push from local files to FTP or did you tarball everything beforehand? Things may have got corrupted in the upload - so I'd start off by reinstalling WordPress (in the Updates area of your dashboard). I use the following MySQL snippets to help update old URLs (if you haven't already done so):
UPDATE wp_posts SET guid = replace(guid, 'http://www.olddomain.com','http://www.newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.olddomain.com', 'http://www.newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.olddomain.com', 'http://www.newdomain.com');
UPDATE wp_options SET option_value = replace(option_value, 'http://www.olddomain.com', 'http://www.newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';