I'm not the dev but here's a quick explanation of what is happening. The behavior doesn't store the angle of motion and speed, instead it stores the horizontal and vertical velocities and calculates speed and angle of motion from them. So when the speed is 0 the velocities are (0, 0) which results in an angle of motion calculated as:
angleOfMotion = angle(0,0, horizontalVelocity, verticalVelocity) = angle(0,0,0,0) = 0
That's why whenever the speed is 0 the angle of motion becomes 0. which happens in your capx when you set the speed to iaccelerate, which is zero at the start of the layout and after hitting a wall.
Anyway's while waiting for an official response you could reproduce the bullet behavior with events. It's rather simple and we can make it keep the angle of motion even when the speed is zero.
1. add two variables to your object of choice (character for instance), and call them "speed" and "angleOfMotion".
2. add an event like the following and put it toward the top of your event sheet. basically jut use the "move at angle" action.
every tick
--- character: move self.speed*dt pixels at self.angleOfMotion degrees[/code:zts93hcr]
And that's pretty much it.