No entiendo como eres capaz de hacer otras cosas similares y aquí no te das cuenta.
Cuando estás fuera de <?php ... ?> la variable que tienes no se imprime, es mas, te reto a que veas el HTML que genera en tu navegador y se lee literalmente $archivo.
Evidentemente como lo haces en otras partes debes hacerlo aquí.
Código PHP:
MAL
<input type="hidden" name="nombrearchivo" id="nombrearchivo" value "$archivo" />
BIEN
<input type="hidden" name="nombrearchivo" id="nombrearchivo" value "<?php echo $archivo; ?>" />