I don't yet have a solution. I did look around, though, here are some things I saw. Let me know if they are not things to worry about or if they may be clues?
Check the animation frames of the Knight. Half of them are tightly drawn around the sprite, the other half are the entire sprite box. This COULD lead to your issue, but I don't think this is it, since you are both using the Defend animation during defending (obviously) and also it looks like you're using PlayerBox to check collisions anyway.
One thing I want to do is make the red PlayerBox visible so we can see if it's behaving properly the whole time.
^^Okay, I did that. That seems to be working fine. Although I'm not sure if it's changing it's size suddenly in between a frame so we can't see it.
I'm sort of typing as I check things out in case others want to jump in on this.
Now I'm suspicious that the Droidwalkers are the main culprit. I couldn't figure it out, but the (Robot overlapping Playerbox) hit is being triggered BEFORE the (On shield collision with robot) event even begins. Possibly one frame before. I know this because I gave the Robots an instance variable called "BeingBounced", and on Shield collision I set BeingBounced to "Yes", and after the 0.3 seconds, back to "No"
Then I set the Robot overlapping playerbox conditions to INCLUDE BeingBounced = "Yes" and it STILL happens. So it's safe to say that it's Overlapping the playerbox before it even registers a collision with the shield.
Sorry I couldn't figure it out. Hopefully I gave some clues.