This is not a bug. Construct 2 is interpreting the events the way it should. Here is what it's doing:
It first checks to see if Sprite3 is overlapping the PosB and then moves Sprite 3 to PosA
Then it checks to see if Sprite3 is overlapping PosA. Since it was just moved to PosA because of the previous event it is then moving back to PosB.
You need to set it up like this:
Keyboard On Down Arrow Pressed
Sprite3 is overlapping PosB...
Else
Sprite3 is overlapping PosA...
That way it won't move the Sprite3 from PosB to PosA and then back.