¿errores? ¿advertencias? ¿guarda algo en el archivo?
quizás haya errores que no estás viendo, probá agregando
error_reporting(E_ALL);
al principio del programa y ejecutalo de nuevo, a ver si te muestra algún error.
A propósito, podés simplificar el reemplazo:
Código PHP:
$buffer = str_replace("</st1:personname>","", file_get_contents("c://expresionregular.html"));
Saludos.