More data:
I found the USB pin schematic and used alligator clips to apply 5V regulated power over the 1st and 4th pins. Measured 4.98V on the multimeter, spark power light came on, but the sketch still would not run. Unplugged the alligator clips, hooked up the USB cable, and the sketch ran fine.

It's almost as if the sketch isn't being stored in the spark's memory, but is being uploaded every time it's hooked up to the computer via USB (even though I'm not hitting the upload button in the Digispark Arduino IDE after the first time I uploaded it, I'm just plugging in the USB cable to power it).