Utiliser REPLACE n'est peut-être pas la bonne démarche.

Pourquoi pas ainsi ?

SELECT '+33' || SUBSTRING(tel FROM 2 FOR CHARACTER_LENGTH(tel) - 2)
FROM Listings
WHERE tel LIKE '0%'