Mmmm, yo no lo haría así, si he entendido bien tu código haría algo como esto:
Código PHP:
<?php
$resultado= mysql_query("select averias.id_averia as id, fecha, desc_averia, num_pieza, unidades from averias inner join ave_rep on averias.id_averia=ave_rep.id_averia where fecha between '$v1' and '$v2' order by id_averia",$c);
$comprueba=mysql_num_rows($resultado);
$idAnt = '';
while ($registro=mysql_fetch_assoc($resultado)){
if($registro['id'] != $idAnt){
echo '<table align=center border=2>';
}
?>
<FORM name="modificar" method="POST" action="consultaaverias2.php">
<tr>
<td>ID de la averia</td>
<td><input type="text" name="id_averia" value="<?php echo $registro['id']; ?>"></td>
</tr>
<br />
<tr>
<td>Fecha Averia</td>
<td><input type="text" name="fecha" value="<?php echo date('d/m/Y',strtotime($registro['fecha'])); ?>"></td>
</tr>
<br />
<tr>
<td>Descripción de la averia</td>
<td><input type="text" name="desc_averia" value="<?php echo $registro['desc_averia']; ?>"></td>
</tr>
<br />
<tr>
<td>Referencia de la Pieza</td>
<td><input type="text" name="num_pieza" value="<?php echo $registro['num_pieza']; ?>"></td>
</tr>
<br />
<tr>
<td>Cantidad</td>
<td><input type="text" name="unidades" value="<?php echo $registro['unidades']; ?>"></td>
</tr>
<br />
<td align=center><input type='submit' value='Modificar'></td>
</tr>
</form>
<?php
if($registro['id'] != $idAnt){
echo '</table>';
}
$idAnt = $registro['id'];
}
?>
Esta es una forma, no sé si la mejor para tu caso. Espero no haberme equivocado por ahí con los nombres de varibales o con los puntos. He cambiado tambien una cosilla en la consulta.
Mira a ver si funciona y comentame que tal