I had refactored some code a while back. It might have been to fix another bug, it might have been something else. I don't remember. The whole thing took place inside an "end-of-action" function. In the old code, if it's at the end of a scripted event, it kicks out of the end-of-action function early, before doing some extra "cancel the dualtech if that's what got used" code (since, if the skill was turn-linked, everyone had to go on standby until the skill was used). With the refactored code, the "cancel the dualtech" still got run even then, but there wasn't actually an active action at that point, due to how something up the chain handles scripted events. And, as stated before, this meant it was trying to use a "null", which resulted in badness.
All I had to do was just throw in a check for the null. (I didn't want to go back to the old code order in case that really was to get rid of a bug.)