Первое, что я вижу, это то, что вы не написали псевдоним для производной таблицы
$sql_checkIP = "SELECT COUNT(*)
FROM (SELECT DISTINCT v.hostname
FROM {pollfield_votes} v
WHERE v.hostname = '%s' AND v.nid =%d) as new_derived_table";
Теперь я не знаю, сколько результатов вы получите по вашему запросу, но db_result
используется только тогда, когда у вас есть только одна строка. Если это нормально, в противном случае вы должны реализовать цикл вроде:
$result = db_query($sql_checkIP, $hostname, $nid);
while($res=db_fetch_array($result)){
$count_row = $res['COUNT(*)'];
}