Tu problema es solo de lógica, porque:
    
Código PHP:
Ver originalif ($contador > 5)
            {
                //cerramos la fila
                echo "</tr>";
                $contador = 1;
            }
            else
  
Si el contador es igual a 5, lo reinicias, cierras la fila y.... omites el archivo!!! 
Sobra el 
else en ese if. 
Aparte, estás manipulando el contador antes de saber si vas a tomar en cuenta el archivo o no, lo más adecuado es que desde que obtienes hagas las comparaciones adecuadas:    
Código PHP:
Ver originalif (is_dir($archivo) || $archivo == 'listado.php') // verificamos si es directorio o archivo php         {
            //no pasa nada
        }
        else