The hardware self test may take much longer than we expect in some situations. This depends on the actual usage of the hard disk, eg. if it contains the operating system and/or working programs, the hardware self test may need to re-try several blocks. So it is possible that it may run for 10-20 hours (!) or more if the hard disk is used during the test.
However, because that test does not transfer data between the hard disk and computer, the hardware self test may not show any errors.
In this situation, Disk -> Surface test functions may be better as these transfer high amount of data and this way help to check if the data transfer error counter increase or not.
In general, these communication errors are related to connection of the hard disk, for example loose SATA connection, molex -> SATA power converter can cause such issues. In this situation, the hard disk counts these communication issues.
I'd recommend to check and possible replace the SATA cable to a better one.
If things would be better, the error-counter does not increase, just these previous errors reported (then these could be cleared in Hard Disk Sentinel to re-set the error counter).
For IDE/PATA hard disks, these issues may cause serious problems (HDSentinel would display a warning if this would be an IDE/PATA hard disk), for SATA this is not really serious, just may reduce the transfer speed between the hard disk and the computer.
This is why the health of drive may still be high (even 100%) as there is no problem with the hard disk itself, the hard disk just "suffers" from the error.
For more information, please check:
http://www.hdsentinel.com/hard_disk_cas ... _error.php
this describes the complete situation, recommended steps to examine and clear the problems.
Also you may use Report -> Send test report to developer option as it helps checking the actual situation and then I can advise.