Voy a explicar nuevamente con una metáfora:
Supongamos que la tabla es un paisaje, cuando haces una consulta es como sacar una foto.
Si luego tu u otro usuario hacen modificaciones en la tabla, estás modificando el paisaje, no la foto.
Y tú que aún tienes la foto en la mano (y la estás recorriendo con el while) estarás viendo la versión anterior).
Es decir que para ver los cambios tienes que volver a sacar la foto (realizar una nueva consulta).
Cita:
Iniciado por Bier ¿Y cuando "suelta" la tabla temporal para almacenar a la tabla definitiva? ¿Al finalizar el PHP?
La tabla temporal la elimina cuando haces el mysql_free_result o bien cuando termina el script PHP pero no es que la tabla quede bloqueada para otros usuarios o para tu mismo.
Cita:
Iniciado por Bier ¿Acaso no hay algo así como "flush" para forzar almacenar inmediatamente a la tabla?
Los cambios (UPDATE), los nuevos registros (INSERT) o los borrados (DELETE) se graban a la tabla real en el momento.
Cita:
Iniciado por Bier ¿Y si son varios los usuarios que están afectando la tabla? ¿el segundo usuario verá datos anteriores si es que no los ha "soltado el usuario 1?
Lo que pasa es que al hacer una consulta SELECT es como sacar una foto, la tabla o los registros no quedan "tomados". Cada usuario al hacer una consulta estará viendo la tabla tal como está en el momento de hacer la consulta.
Cita:
Iniciado por Bier ¿Que material debo leer para documentarme al respecto?
Sí, en realidad es mejor que leas la documentación para ver más en detalle como funciona, además hay varios tipos de tablas, MyISSAM, ImnoDB son las más usadas y se comportan de maneras diferentes:
http://dev.mysql.com/doc/refman/5.0/es/index.html