First all, i have only used CDCheck.
Its not a very popular program, its rarely mentioned here in this board. Nevertheless, it has features that you are looking for. Yes, it does detect cd errors. Unfortunately, on my Win98 SE system, when it encounters some read errors, it freezes...not good huh. I may be I'm patient but I can observe my drive continuously reading for many seconds. So, my conclusion is, it may not handle all read errors properly....you don't wanna reboot every time your drive encounters a read error