Having just upgraded a few days ago... What I did was made a 1:1 copy of my working forums (files AND database) and made a test environment. I then logged into test and turned modifications off via includes/config.php
(add:
Code:
define('DISABLE_HOOKS', true); directly under <?php.
Then, logged into testboard admincp and made a list of what was installed then uninstalled all plugins. After that, I then uploaded the vB3.7 core files to overwrite existing files and ran the upgrade script.
Once upgrade was completed, I reverted all templates and adjusted new user permissions and activated/disabled new features. Once 3.7 was running find as a 'stock' forums, I went back to my list and installed my modifications one by one testing each to ensure that they worked with the new system.
Once I was happy with the outcome, I rm -rf the testforums directory and closed live boards down for upgrade. Repeated the steps above to ensure I had a current copy of files/database and once everything was running happily, I changed /forums/ into /forumsold/ and /testing/ to /forums/ and turned the board back on.
This may sound convoluted and a long drawn out process but over the years, I found that reinstalling from scratch this way prevented any 'artifacts' laying around from the upgrade process and addressed any changes in the template engine from breaking the boards after upgrade. Starting from fresh vB core files, I was able to ensure that the mods that were installed were using the right hooks and wasn't leaving junk laying around to clutter up the place.