Eso que publicaste está un poco sucio. No uses esto sin while:
$row_Productos = mysql_fetch_assoc($Productos);
Eso es lo que se ejecuta la primera vez que hacés el do. Y tiene un solo resultado.
Es más, no uses do:
Cita: $query_Productos = "SELECT DISTINCT * FROM productos WHERE ApareceEnLaWeb = 'Si' GROUP BY es_Familia ORDER BY es_Familia ASC";
$Productos = mysql_query($query_Productos, $bdmontsoliu) or die(mysql_error());
$totalRows_Productos = mysql_num_rows($Productos);
while ($row_Productos = mysql_fetch_assoc($Productos))
{
echo $row_Productos['es_Familia'];
echo $row_Productos['es_NombreProducto'];
}