There are a few other options, if changing the object's angle doesn't cause any issue you can enable Set Angle on the 8direction behaviour and the object's angle will also change with the movement and the original events you have should work as it will keep the last angle.
Another is to grab the 8 direction movement angle on button release and save it in a global variable, then use this to compare.
Another is to use the walking animation that is playing as the object stops. If walk right animation is playing, then set to idle right.
Also if you are only using 4 directions I don't think you need to use 'is between' condition it should be the same 4 possible values.