If you see a hit sprite, you hit the target. Depending on the connection to the remote player, it may take a bit to register on his screen, which can cause it to take that time to register on yours, also depending on your connection as well.
The server tracks hits, so the damage is being done, unless your Internet connection is so bad it is dropping those packets.