He may have thought he would fall in and be flushed away too, since young children don't understand size at all. Take the lid off the tank, let him flush it a few times so he can see the ball go up and down and then tell him that even a tennis ball is too big to be flushed away. If you hold him in front of a mirror, with a tennis ball next to his head, he'll begin to get the picture. He still won't want to use the toilet right away, so put a potty chair in the bathroom and sit him on it when he gets home from school, even though he has just put on his Pull-Up. If he does have a movement, take off the diaper, drop the contents in the potty and then have him empty it into the toilet and flush it himself.
Responsibility makes a child get trained a little quicker.
Right now, your son has no reason to use the toilet since he knows you don't mind if he poops in his Pull-Ups. It's time for a new approach. There will be a few accidents, but have him help you clean them up without getting cross or spanking him again. Just look a little disappointed, tell him that you want him to do better next time and give him plenty of applause when he does. When parents draw the line very quietly and seriously, their children quickly learn to use the pot.