izumov, зачем так распылять текст тела запроса (тем более что он у вас странный по условию), к тому же он небезопасный. Если уж не фильтруете данные извне, что плохо, то хотя бы используйте по максимум возможности PDO:
$sql = "SELECT COUNT(*) FROM clients
WHERE kol = :kol AND colvalue = :colvalue AND kod <> :kod";
$stmt = $pdo->prepare($sql);
$stmt->execute($_POST);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - установите все предпочтения один раз в настройках, в подключении PDO.
Стоит учитывать, что в $_REQUEST попадают данные из GET, POST и COOKIE, если используете эту переменную, то с гарантией, что вы контролируете процесс.
Что касается
"При задержке же ответа почему то responseText=""
а по логике функции это считается что тест не пройден." - и какова же задержка, что такая огромная база? Клиент ожидает ответ от сервера на свой асинхронный запрос, и прекращает ожидание если превышено время timeout, что можно контролировать. Также можно анализировать статусы и заголовки передаваемые сервером. Будете это делать, значит и анализ будет не по "пустой" строке.