nel ciclo di scrittura devi fare un controllo per vedere quale opzione selezionare, inoltre ne metterei uno vuoto sopra, perché se no è sempre selezionato il primo valore di default, e un minimo controllo sulle variabili che ricevi in post

codice:
while($row = mysql_fetch_assoc($result))
{
	echo "<option ".((isset($categoria) && $categoria==$row["id_area"])?"selected":"")." value=\"".$row["id_area"]."\">".$row["area"]."</option>";
}