No, lo peor que puedes hacer es usar sesiones para algo así, las sesiones es para tener datos persistentes por tiempo indefinido, es como querer usar una cierra eléctrica para sacarle punta a un lápiz...
Lo mejor es comprobar si se genero un error, exactamente donde antes estabas imprimiendo los datos en los values de los input (lo que exactamente te había dicho que debías borrar) hay que reemplazarlo...
Código PHP:
Ver original//original
<input type='text' name='nombre' size='33' value="<?php echo $nombre_form;?>"/><br />
//nuevo
<input type='text' name='nombre' size='33' value="
<?php echo !empty($msn) ?
$nombre_form : ''; ?>"/><br />
<input type='text' name='telefono' size='33' maxlength="20" value="
<?php echo !empty($msn) ?
$telefono_form : '';?>"/><br />
Has lo mismo con los demás campos manteniendo los nombres de las variables en su input correspondiente