Com'è ora tu prima effettui la query di select e popoli le <option> del tag <select> con i valori recuperati e solo successivamente elimini con la delete l'elemento selezionato. In questo modo esso non sarà più presente nel DB, ma sarà visibile nella select in quanto popolata precedentemente quando il valore era ancora presente.
Se inverti la logica (prima la delete e poi la select) leggerai i valori dopo aver eliminato l'elemento per cui esso non andrà più a finire nella select.