"Mi aspettavo di ricevere un messaggio "Nessun record trovato" quando non c'erano record, ma invece sto ricevendo un risultato nullo."
Quindi fai
SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING COUNT(*) > 0
Cioè, specifica che desideri restituire un riepilogo solo in cui erano presenti righe che sono state considerate.
SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING SUM(dummy) IS NOT NULL
è simile, ma COUNT(*) restituirebbe una riga di riepilogo se ci fossero solo righe per le quali dummy era nullo, mentre quest'ultima no.