I spent about two days debugging some new scripts and I finally discovered the problem. It's got something to do with how assigning or reading a CSet doesn't work as expected.
Script #1 sets the combo (Data) and CSet of FFC10-14 at regular intervals.
Script #2 runs on FFC10-14. When each FFC notices it's combo is changed, it changes its behavior to match the new combo. It also sets its "difficulty" based on the CSet.
What I was doing was assigning CSet 7 for easy, 8 for hard, in Script #1. But the if(this_ffc->CSet == 7) in the second script simply refused to trigger. When I took out the conditional, it worked fine.
So somewhere between assigning the CSet to be 7 and the next script reading the CSet a tic later, something went awry.
I can post the code if it helps, but I think the problem is pretty clear.