Es difícil seguir el código que has colocado, pues faltan muchos componentes para poder reproducirlo.
Lo que se me ocurre es que tal vez estés "machacando" algunos valores. Es decir, que los estés pintando todos, pero unos encima de otros, por lo tanto quedan los últimos.
Lo más sencillo es que coloques unos breakpoints y ejecutes "paso a paso".
Uno en el FOR, para asegurarte de cuantas veces pasa, y otro el los diferentes lugares donde rellenas celdas, para ver lo que estás escribiendo.
Otra opción si con eso no te aclaras es utilizar un pequeño LOG. Coloca un Memo en el formulario (de forma temporal) y cada vez que pintas una celda añade una línea como esta:
Código Delphi
[-]
Memo1.Lines.Add(Format('(%d,%d) = %s',[ATexto, fila, columna]));
De esta forma al acabar tendrás una lista de lo que has guardado en cada celda.