Si he logrado interpretar bien tu consulta la solución es esta:
En vez de llamar a tus campos de texto de esta manera:
Código PHP:
"descripcion<?echo "$i";?>"
Los debes llamar así (un pequeño cambio):
Código PHP:
"descripcion[<?= $i ?>]"
De esta forma estarías enviando un array a tu servidor y ya es mucho más facil.
Te quedaría así:
Código PHP:
<?
for($i=1; $i<=$no_pro; $i++){?>
<p align="left">Cantidad
<input type="text" name="cantidad[<?= $i ?>]" size="5">
Descripción
<input type="text" name="descripcion[<?= $i ?>]" size="40">
Unidad:
<select name="unidad[<?= $i ?>]" >
<option>Seleccionar</option>
<option value="pieza">Pieza</option>
<option value="caja">Caja </option>
</select>
</p>
<?}?>
Entonces cuando envíes el formulario, tu próxima página recibiría 3 arrays con sus respectivos valores.
El array $_POST['cantidad'], $_POST['descripcion'] y $_POST['unidad'].
Luego, al recibirlos puedes contar algunos de los tres (ya que tienen cantidades de datos equivalentes) y luego recorres con un "for". Algo así:
Código PHP:
$total= count($_POST['cantidad']); // Aquí te tira la cantidad
//Se reciben las variables del formulario requisición
$observaciones=$_POST['observaciones'];
$area_afectada=$_POST['area_afectada'];
// Luego... el for
for ($i=0; $i < $total; $i++) {
$descripcion=mysql_real_escape_string($_POST['descripcion'][$i]);
$cantidad= (int) $_POST['cantidad'][$i];
$unidad= (int) $_POST['unidad'][$i];
$comentario_req="";
//Insertamos los datos correspondientes a la requesición.
$query = "INSERT INTO requisicion(no_usuarioC,id_mod,descripcion,cantida d,unidad,observaciones,comentario_req,area_afectad a,fecha_req,fecha_req_acp,fecha_reqlib)
VALUES('$no_usuarioC','$id_mod','$descripcion','$c antidad','$unidad','$observaciones','$comentario_r eq','$area_afectada','$fecha_req','$fecha_req_acp' ,'$fecha_reqlib')";
mysql_query($query) or die(mysql_error());
}
Espero haber entendido la duda y que te sirva mi idea.
Por ultimo... verás que usé la función mysql_real_escape_string y (int) para implementar un poco de seguridad. Nunca viene mal y nunca faltan los hackers jeje.

Quedo a tu disposición.
Saludos