OK, so I went back to running from USB (after deleting the corrupted files in Update, which were the cause of it failing previously) but still have the issue of it getting stuck on 100% CPU almost straight after booting and XBMC being completely unresponsive, with even the debug OSD not changing, although I can still SSH/SCP in. Although someone else said this turned out to be caused by tvheadend, I ran top and it lists
Mem: 353848K used, 27800K free, 0K shrd, 49668K buff, 246892K cached
CPU: 13.0% usr 65.5% sys 1.4% nic 0.0% idle 5.4% io 0.0% irq 14.6% sirq
Load average: 5.01 2.26 0.86 2/96 2111
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
1039 1 root R 213m 57.2 0 21.2 /lib/systemd/systemd-journald
1514 1 root S 313m 84.0 0 16.2 /usr/lib/xbmc/xbmc.bin --standalon
779 2 root DW 0 0.0 0 14.6 [jbd2/sda2-8]
746 2 root SW 0 0.0 0 12.8 [usb-storage]
18 2 root DW 0 0.0 0 11.8 [kworker/u2:1]
3 2 root SW 0 0.0 0 5.8 [ksoftirqd/0]
9 2 root SW 0 0.0 0 1.6 [rcu_preempt]
2067 2053 root R 2580 0.6 0 1.0 top
so no sign of tvheadend being the problem for me there. Log is here
http://xbmclogs.com/show.php?id=107605
EDIT: WTF! I went back to the SD install so that I could drag the latest build files to the USB Update folder (it hangs half-way through otherwise and then I can't reboot without fixing the USB or SD in my PC) and now I'm having the same problem with constant high CPU (80-100%) and the same processes showing in top as with the USB install although now systemd-journald is at 0% but XBMC has increased to 41% to make up for that.
http://xbmclogs.com/show.php?id=107609