I did some recreational debugging, and I can confirm this is a problem for every party member except the PC.
The following is 100% repeatable.
Equip a repeater -> Preventative boolean gets set to TRUE, applies effect for 1 second -> Save -> Load -> Boolean is now permanently stuck as TRUE, effect has worn off, effect can never be applied again to that character.
Not sure why it works perfectly with the PC, but there's the error.
Ah damn it. Neros had sent me his save files, but I hadn't gotten to checking the issue.
Sounds like I screwed up something - will need to rethink the logic. It's probably something really basic... Weird how it's not bugged for the PC, that's probably how I didn't notice it in testing.
Edit: It makes total sense. The attacks script calls itself with a 1s delay, so saving and loading during that time will not have the script call persist to after the loading. I wonder where else this might break things... perhaps that's why speedruns use save-load spams to bypass scripted conversations and cutscenes.
It should be a relatively easy fix - putting in a "fail-safe" function to check if the boolean persists over more than one second and switch around the order of conditions and results a bit. If someone can remind me to look at it on Friday, that would be great, I am really forgetful at the moment...