Hmm, I don't know what version of teensyduino I had before. How do I find out? (Paul, would it be possible to put version number in the installer filenames?)
However, I compared the working SPI installation with stuff from github, and found that the working SPI has this revision: a8af486c7be94edee0854e7673badb7310a691e1
There are a couple of revisions between this and HEAD (which is what the beta is using), and I can try those later today to pinpoint where the problem starts to occur.
My setup is a Teensy 3.2 with a TeensySaber V2 shield. However, a prop shield and an sd adapter wired up like this:
http://fredrik.hubbe.net/lightsaber/electronics.html should work just as well.
To reproduce the problem using lightsaber.ino, I just play a wav file by typing "play title.wav" in the serial console. It usually plays for a few seconds, then hangs.
lightsaber.ino is basically reading WAV file data from the sd card when it hangs. It's quite similar to what the WavFilePlayer example does, however there are a few differences, like:
1. It's about 7 thousand lines longer...

2. WAV file reading is handled by a software interrupt instead of doing it directly from the audio DMA interrupt
3. My wav decoder reads 512-byte aligned data, one block at a time.
4. There is some i2c communication going on with the motion chip at the same time. (I'm going to try disabling this to see if makes any difference.)
Later today, I will try it with a prop shield to make sure the problem occurs there too. (It should, but you never know...)
Next I'm going to take an axe to my code and see if I can come up with a smaller example.