StringGrid は様々なオブジェクトを内部生成しているせいか、読み込むサイズに比べて消費メモリが大きい。
(ようするにメモリが足りなきゃスワップが起きて遅い)
ColCount と RowCount を行を読むたびに1ずつ増やすと当然遅い。
(まとめて増やせということ)
後は SendMessage(Handle, WM_SETREDRAW, 0, 0) で書き込み時の書き換えを止めておけぐらいかな。