k:=1 потому что длина строки, когда у вас появляется новый символ, равна будет 1. То есть например у вас идёт xxxyxx:
x -> k:=1
xx -> k:=2
xxx -> k:=3
xxxy -> k:=1
xxxyx -> k:=1
xxxyxx -> k:=2
Надеюсь, понятно объяснил. . . Кстати, после readln(F,S) вы также неверно инициализируете k. Там тоже надо k:=1;