Secondo me sta tutto qui:
"update users set password='".md5($MD5_PREFIX.$NEWPASSWD)."' WHERE nick=\"".AddSlashes($TPL_username)."\"";";
usi ad alternanza apici e virgolette come se fossero equivalenti, ma se inizi con le virgolette puoi delimitare le stringhe solo con le virgolette. Inoltre devi unire le stringhe con un punto, altrimenti non potranno mai funzionare.
"update users set password=".md5($MD5_PREFIX.$NEWPASSWD)." WHERE nick='".AddSlashes($TPL_username)."'";";
E on ho capito quell'insieme di punti e virgola e virgolette alla fine.