It's happening because you're telling it to. :)
In your check_collisions() function, you have this line:
which checks to see if the image of the man firing collides with a bat image. Note that the image of the man firing doesn't have to be currenly displayed! - the check will still be done.
In your check_collisions() function, you have this line:
c= ImagesCollide (gfx_manfire,manfirerange,man\y+35,0,b\gfx,b\x,b\y,0)
which checks to see if the image of the man firing collides with a bat image. Note that the image of the man firing doesn't have to be currenly displayed! - the check will still be done.