When you said that it uses channel 9, I assumed a zero-indexed list. I needed to put the shadow map coords into channel 8.
By the way, I've got this now:
Other than the wall texture segments not generating properly, it looks like everything is working the way it's supposed to. Oh, that and...