никакой специфики тут нет. Просто читайте программу.
Код:

while not Terminated do
begin
// >> 3. Может ли функция WaitCommEvent в данном фрагменте вернуть 0 (теоретически),
// >> в коде этот случай не рассматривается...
// это почему?
// bool WaitCommEvent(...) bool - это 0(false) или 1(true)
if not WaitCommEvent(hPort, dwMask, @OverRead) then
begin
// вернула 0
// "не дождались", а ошибка - "идёт передача данных",
// дожидаемся окончания это передачи
if GetLastError = ERROR_IO_PENDING then
WaitForSingleObject(OverRead.hEvent, INFINITE)
else
raise Exception.Create('Error waiting port event');
end; // not WaitCommEvent
// сюда попадаем только когда началась передача данных
// если порт был занят, подождали. Если нет, попали сюда сразу
if not ClearCommError(hPort, dwError, @ComStat) then
raise Exception.Create('Error clearing port');