Come to find out, it was the sensor around the crankshaft pulley.
Apparently the belt had crushed the sensor. On the way home from the
garage, yesterday, it started to throw the belt again. This time I caught
it in time, and the belt had just unravelled a little. After looking over
everything, I found out that the bearings in the waterpump were going out,
causing the pulley to rock back and forth. This was what was causing the
belt to come off. Replaced the waterpump this morning, and seems to be
doing just fine.