Azz... non avevo mica capito... il problema.

"<input type=\"radio\" name=\"stato\" value=\"$id\" checked>

con lo stesso nome il type radio passa solo il valore di quello checcato. E quindi quello che spunti passa il valore dell'id da settare a uno....

quindi lo becchi con

WHERE id ='$_POST[stato]' ";

cambia il nome del radio se name="stato" non ti piace.

Verifica nella stampa del POST che sia proprio cosi'...