The installer doesn't like having other tables in the database. Apparently, just removing the table made the upgrade work. Perhaps the tables are referenced by id, hence breaking the database on prior attempts?
It is working fine now but I am a bit concerned about future upgrades on systems that aren't stock, as we do tweak things to get what we want.
Is it possible that the update.php script could have not worried about extra tables?
ps: spam sucks.. it's a constant battle