I havent checked this I am just reading the posts on my lunch.
When the ball hits a wall you naturally put it back onto the pitch, well you must do the same when it hits the bat.
if the ball hits the bat try
spritey(n) = spritey(n) - diry(n)
spritex(n) = spritex(n) - dirx(n)
before you do anything else.
Also I noticed this line
load image "bat2.bmp",2 place it outside of the main game loop and the program will run much faster.
I wrote a tutorial on advanced collision algorithms a while back, its the sort of stuff that will detect collions and reaction between 2 moving objects regardless of the relative speed. If you think it might help let me know and I'll dig it up.
There is no answer only more questions.