I'm surprised this is even a bug. So... apparently, using the "Stop Trigger" function to stop a thread run through a Block specifically (maybe Platforms too? I haven't tested this with those, though) won't stop it--it'll keep running.
The only workaround I've found is spamming "Branch if..."'s all over the Block's trigger list to cancel it's functions anytime it is called for, but this just wastes space in the level code.