Hola,
no sé, a bote pronto me chirría la línea
Código Delphi
[-] for j := 0 to adotabla.FieldCount - 1 do
No recorres la tabla, sino los campos de la misma.
No será
Código Delphi
[-] for j := 0 to adotabla.RecordCount - 1 do
Si te da error de indices, seguramente será del stringGrid, que no tiene tantos elementos como campos tu tabla.
Prueba a ver.... y nos cuentas.
Saludos