Yorgunluktan problemi yeni gördüm, çalışan kodları aşağıda verdim. Hatanın nerde olduğuna gelince, sen mysql sorgusunda $row["id"] değerine göre sildiriyorsun, oysa $_POST["sil"] değerindeki veriyi silmeli.
<?php
$sql = mysql_query("Select * from kategoriler");
while($row = mysql_fetch_assoc($sql)){
echo '<option name="'.$row["id"].'">'.$row["kat_adi"].'</option>';
if($_POST["sil"]){
$sil = mysql_query("delete from kategoriler where id='".$_POST["sil"]."'");
if($sil){
echo "Silindi";
header("Refresh: 1; url=admin.php?sayfa=kategorisil");
} else{ echo "Hata Var"; }
}
}
?>