Creo que entiendo lo que quieres. En principio el bucle es necesario porque es el que recolecta los resultados de la consulta, pero claro, lo hace "de golpe" y no se almacenan los resultados en variables o ficheros o algo que permita luego iterar lentamente con un timer para mostrarlo en un formulario mediante un picturebox y alguna label.
Me imagino que la consulta devuelve varios registros con foto incluida que deben mostrarse en una secuencia controlada por un timer, ¿cierto?
Si es eso, entonces deberías almacenar los resultados de la consulta en varios arrays del tipo necesario (string[] para cadenas de texto y Object[] para almacenar objetos Picture) e ir recorriendo los array mediante un timer. Como conoces el número de resultados y todos los array van a tener el mismo número de elementos, puedes calcular cuántos segundos tiene que funcionar el timer antes de pararse, y en cada ciclo del timer (dentro de su evento) irías mostrando los datos sobre los controles adecuados antes citados.
Otra forma puede ser ejecutar la consulta específica para cada resultado dentro del evento del timer e inmediatamente después mostrar los resultados en el form.
La última, pero la peor y más burda, es insertar código en tu bucle for..next para que justo después de obtener el resultado, éste se muestre en el formulario y justo ahí detener la ejecución del programa mediante la orden Sleep (
http://gambasdoc.org/help/lang/sleep?es ). Esto no te lo recomiendo porque detiene todo el programa y es una chapuza, pero lo comento para que lo evalúes eventualmente.
Saludos