I am in the process of upgrading a 5.0 SP1 database to 2009 R2. That includes updated addon solutions from Skýrr. To help me with this process I created a table, form and a codeunit to handle the upgrade and provide the user a visual process information.
This code will store information on processed tables in the log table and make sure that if you execute the upgrade process only the remaining processes will be executed. You can simply add another processing codeunit and execute the process again and again.