Warum überhaupt dieses Hochzählen, wo die Werte doch im nächsten Durchlauf wieder gesetzt werden?
dein Einwand ist berechtigt.
EDIT:
Eventuell so wenn t und l global definiert sind.
Delphi-Quellcode:
l := l + TGridColumn(TStringList(FRowsContainer.Items[ARow]).Objects[ACol]).Left;
t := t + TGridColumn(TStringList(FRowsContainer.Items[ARow]).Objects[ACol]).Top;
inc(t, h);
inc(l, w);