I was working on setting up a role migration from Drupal 6 to Drupal 7. After some time, I noticed that the role id's were not being preserved, which was going to cause a problem for me when I went to take the migration to the live server. I initially tried using the addFieldMapping function to link the source rid to the destination rid (similar to preserving the nid for nodes or the uid for users). However, this failed to save any of the roles during migration.
I had to accomplish the task of migrating the content from a Drupal 5 site with 10,000+ nodes to a new Drupal 7 version. The caveat was that all of the node information needed to remain intact due to various links that were entered into the body of posts. My initial thought was to use a .csv file and import directly into the database. After some more research I discovered the migrate and migrate_d2d modules.