Вы, вероятно, имеете в виду:
while(hash_table[hashNum].data != pString && hash_table[hashNum].count != 0)
В вашем коде цикл будет продолжаться, если в любом случае задано значение true, hash_table[hashNum].count == 0
НЕ достаточно для того, чтобы сделать предложение ложным.