Il fatto è che con il primo while cicli tutto l'array $date fino alla fine
e quando cerchi di ciclarlo di nuovo nel secondo while ti trovi già alla fine dell'array e quindi non entra neppure nel ciclo.

Devi solo mettere il puntatore dell'array $date all'inizio prim di ciclare di nuovo

Codice PHP:
   

Dal:
        <select name="datainizio" size="1">
            <?php
            
while ($datainizio mysql_fetch_array($date)) {
                
$dvaloreinizio $datainizio['data'];
                echo 
"<option value='$dvaloreinizio'>$dvaloreinizio</option>\n";
            }
            
?>
        </select> Al:
       <select name="datafine" size="1">
            <?php
            mysql_data_seek
($date0);// <---------- porti il puntatore all'inizio!!
            
while ($datafine mysql_fetch_array($date)) {
                
$dvalorefine $datafine['data'];
                echo 
"<option value='$dvalorefine'>$dvalorefine</option>\n";
            }
            
?>