Very interesting! I feel spoiler'd but that's ok
I like your idea, sir.
Unfortunately there is no function (that I'm aware of) to check for the speed of a prop. You can, however, use some clever scripting.
As soon as you release the ball from the ceiling and it starts flying to the player, start a timer. Tweak it so that the timer
ends as soon as the ball slows down to the speed at which you do NOT want it to cause player damage.
Then, use this function called by the collision between the ball and the player.
void BallCollidePlayer(string &in parent, string &in child, int state)
{
//ball is parent, player is child
if(GetTimerTimeLeft("ballspeedtimer") > 0) { //Player Gets Damaged! }
else //Do whatever happens if the player touches it while it is slow (such as LESS player damage)
}