Marcelo,
Ese es precisamente el problema. Esto lo consulté en un post anterior.
Si hago como explicas (cosa que hacía), trabajando en red local, el query es instantáneo pero cuando el resultado del query son 30000 registros, el tiempo que tarda en armar el array de la forma que comentas es de 2.27 minutos (Una eternidad).
Por esto, y con la ayuda del foro, usé un query incluyendo "{static}" y luego pasé el sqlarea a un oDbf usando la clase Tdatabase y en todo ese proceso llego al xBrowse en sólo 5.31 segundos.
Si esto lo pude hacer en forma "intuitiva" usando la clase Tdatabase, supongo que alguien con mayores conocimientos que yo podría crear alguna función que lo pasara directamente a un array u otra forma de hacer un xBrowse con toda su funcionalidad directamente sobre el sqlarea (área activa de resultante del query ADS).
Fijate que si luego del query hago sqlarea->(xBrowse()), en forma instantánea se visualiza el xBrowse().
Saludos.
Rolando