I know this isn't THE solution but I think moving the donation pool as the second to the last pool could do the trick. So if this really weird behaviour happens it selects a pool of yours instead the donation one.
This can help while I'm finding the real solution.
Moving donation pool to second to the last does not really help here. It still wil uncontrollably miner on that pool if you don't check your miners all the time..
Suggestion: how about adding donation pool in a way that can be removed? This will still leave an option to donate for everyone and to remove it for those with multiple Blades, since all of them most likely removed it manually. Just until you find a better solution..
mmm and what do you think about adding an option to automatically switch to the main pool every X minutes? I mean, Minera could check every X minutes if it's hashing on the main pool and if doesn't it tries to switch to it.
EDIT: BTW I think the problem is related to Nicehash pool only, I'm almost convinced of this. I know it's not a good workaround but if you with this kind of problem could try to remove the Nicehash pool completely (no main no failover) that could be a nice try.