But everything in the USB circuitry was connected properly.
you know, the Spark Core that I built I never got it to talk over USB, ever. I'm pretty sure the bin I linked doesn't have that stuff, it's dated on my computer so you could correlate that with the github commits to find out what was in and what was not in the code. I believe since then they have changed some stuff in it and added more watchdog timer stuff, and automatic recovery code that helps in the event that you get a bad OTA update. This was the first bootloader.bin that Spark uploaded to Github. What was different about the bootloader.bin file you linked?