Hola,
En este caso no seria necesario usar el mysql_data_seek(). Simplemente saber como evalua PHP los operadores logicos. Los evalua en cortocircuito, que quiere decir que solo evalua las expresiones hasta que obtiene un resultado final. Como que para que un && devuelva falso solo es necesario que una de sus expresiones sea false, PHP solo evalua las expresiones hasta que encuentra una que se evalue a false. ASi que si en lugar de
Código PHP:
while ( ($fila = mysql_fetch_array($consulta)) && ($contador % 3 != 0) ){
pones
Código PHP:
while ( ($contador % 3 != 0) && ($fila = mysql_fetch_array($consulta)) ){
ya no necesitas el mysql_data_seek().
Saludos.