错在
i,iCounter:integer;
不应该用integer,当有9999个9时,iCounter就会超过integer的范围,应该用longint。
pascal的同学请注意:当定义整形变量时,请习惯用longint,这样会减少不少麻烦的。
(PS 我就吃过亏...)