BGE : Stop Animation at an arbitrary point and return to frame 1
Yes. You can do this with logic bricks. You can actually do quite a bit with logic bricks. (I've made entire games only using logic just to prove it is possible to do so)
You'll need to start with two properties, a Boolean to control when the animation is playing, and an Integer property to control what frame the animation will display.
You'll need an always sensor (with true level triggering enabled) connected to an action actuator set to property - this will make the selected action display the frame of that action that correlates to the property that is set in the actuator.
You'll need your boss object's near sensors detecting the player, and assigning the Boolean property true or false.
Then, when the Boolean property is true, it will rapidly add 1 to the integer property controlling the animation's display frame, making the animation play. The moment the Boolean property turns false, it will assign the animation's frame to 1, resetting your boss object's attack.
You'll also want a property sensor waiting till the animation is done playing, to allow looping. to do this, set the value in that property sensor to however many frames is in your animation. When testing, I used a 40 frame animation, so I put 40 in that field. This property sensor can connect to the same actuator as before that assigned the frame number to 1, as it has the same function (resetting the animation.)
Or, if you do better with pictures: