Tak, chodzilo mi wlasnie o to.
Nadal bez zmian powiadasz? Zmiany co zrobileś, dają diametralnie inny wynik, bo to zupełnie inny warunek logiczny.
Baza sama z siebie nie pluje nigdy głupotami. Zapamietaj to. Wina leży gdzieś po Twojej stronie

1) Sprawdz dokładnie jak wygląda wygenerowane zapytanie. Byc moze wydaje ci sie, ze przekazujesz zmienne o innej wartosci
echo "SELECT id, user_email, priority, topic, content, date FROM calendar WHERE `priority`='{$priority}' AND (`user_email`='{$user_email}' OR `user_email`='0') ORDER by id ASC";
2) Jak dla mnie masz bardzo dziwny zapis do tabel, ze pusty email w bazie oznaczasz jako ZERO.... toż to dziwne, zeby nie powiedziec ze poronione

Pusty email to pusty email i ma byc oznaczany jako pusty tekst a nie liczba 0
3) Jesli nadal masz zle wyniki, czyli inne niż oczekujesz, to pokaz przykładowe wpisy w tabeli po czym napisz jakich wynikow oczekujesz