Update: I think my SD card was (for some reason) becoming corrupted. One day, after updating some apps, the phone would no longer boot past the Boost splash screen. When I removed the SD card, the boot completed (minus all the apps that were stored on the SD card). I reformatted the SD card...