Hai ragione! Con un controllo post-str_replace vedo che $message è stato correttamente modificato.
Quindi il problema dovrebbe essere nell'update, ma non capisco dove!