It seems that BALL.bouncingOffOfPaddle returns true when the ball is invisible and moving down. It happens that the PADDLE contains BALL.x, and BALL.y is greater than PADDLE.vertical.
Also, I think that something misleading is the name of the script vertical in the role PADDLE, it should actually be called horizontal.
Yes, but where does it bounce off the bottom and start going up?