usa ISNULL

ad esempio

DELETE FROM tPrenPass WHERE CodTratta IN
(SELECT ISNULL(IdTratta, 0) FROM tPrenTratte WHERE CodPren = @id_Pren);

così se la select è vuota restituisce 0 e lui casomai cancella il record 0 che immagino non ci sia... ma almeno non dà errore