Ah... it's gotta be the paths being cached. Did you export your definition on one site and then re-import it on the other? Or did you just migrate the database? Migrating the database wholesale in WordPress is often problematic (see http://code.google.com/p/wordpress-custom-content-type-manager/wiki/FAQ#My_Custom_Fields_Broke_after_Moving_my_Site!)
If you did the correct migration procedure and exported/imported the definition and you still are having problems, you should be able to do this:
1. On the original site, go to the Tools tab of the CCTM and clear the cache.
2. Go to the CCTM's Tool's menu and Export the definition.
3. Migrate your WordPress files and database as per usual.
4. On the new site, revisit the CCTM's Tool tab and Import the CCTM .json definition file created on step 1. Without directory scans being cached, then PHP should rescan your directories and re-calculate the paths to your various files.
The goal is to get a fresh install on the new site... if you have to, you may have to nuke the row in the
wp_options table where option_name = 'cctm_data'. If that gets into your new location, it will contain the cached directory scans and you'll have trouble. E.g. in phpMyAdmin or a MySQL command line, you can run a query like this on the new site (after you've made backups of your database and your CCTM definition):
DELETE FROM wp_options WHERE option_name='cctm_data';
And then you can import your .cctm.json definition file. But don't mess with the database unless you absolutely have to.
Let me know if that works. If the problem with paths occurred after exporting/importing a definition file, then we need to file a bug report because the definition should not have exported the cached directory paths (since they won't be relevant in a different location).