Das ist schon klar, beantwortet aber nicht die Frage, von welchem Typ sie ist und ob sie unter Umständen Dubletten ignorieren könnte und damit ein falsches Zählergebnis zustande kommt.
KAList ist eine StringList. Mit Dubletten sollte es keine Probleme geben, da bei Insert geprüft wird, ob es diesen Wert schon gibt.
Das ist aber doch genau das Problem:
Wenn Du in der Datenmenge 50 * den Wert "Hallo" und 47 * den Wert "Leute" bekommst, so wird Dir KAList als Ergebnis im KAList.Count die zwei liefern, auch wenn es tatsächlich 97 Datensätze gibt.