Sadly it's not possible for me to look into it and fix it without a reliable way of reproducing it, which thus far I've been unable to aquire.
It's also not due to a "db corruption" and the things that
could go wrong
do in fact sometimes go wrong randomly. That's why you would hear more or less the same response from vBulletin if you were to upgrade from vBulletin 3 to vBulletin 4 (which is, I assume, part the reason why you're still stuck on vB3) - backups, backups, backups.
Hell, theoretically speaking you shouldn't even upgrade from 3.8.6 to 3.8.7 or some other minor change. Nobody does that though
Truth is, vBShop 1.2 to 2.0 was a
significant update that required
many complex changes in order to address some fundamental issues that made it impossible to continue extending the mod with the features we were suggested by our users.
People will always tell you that a clean install of a new version of Windows always beats doing an upgrade (Vista to 7, for instance). Sure, it sucks to lose all your installed programs, but upgrade scripts are nigh on impossible to get right.
vBShop v2.2 offers a superior baseline to work from so as to ensure that should such extensive changes be required again, there will be a detailed log to work upon to rebuild the database (for purchases made post-2.2 install) in the event of a "corruption". If you feel you'd rather have your old data and feature set back, you could always restore the vBShop tables from the backup and only run the 2nd query from my previous post
