Turns out the culprit was the battery. I took the hub apart and reset the PIC by disconnecting a black jumper for 15 mins. After reconnecting the jumper, I measured the voltage on the red and black points to be 1.5v. I connected two wires to a charger and attempted to charge it. It must have triggered something because the battery is now able to be charged through the normal external cables. All is back to normal and the bike runs.
On another note, my spare controller is having button-not-working issues. How can I rewire it to use new buttons?