Final update: I restored all my config files and library to the fresh install EXCEPT the gui.py file in the .config. Now Calibre runs fine so it seems to be that it was caused by something different with gui.py....
(I still have to restore my plugins as they seem to be the only thing that hasn't transferred between the two installs)
EDIT: I have opened my original gui.py with the new-install-default in Meld (file comparison) and found that in the new one the line "systray_icon" is set to false whereas in the crashing one, it is set to true.
Of course, none of this explains why having the system tray icon turned on is crashing Calibre. But I don't have the foggiest of how to fix that :/