Si ese script realiza varias acciones (un formulario y su proceso en el mismo script) .. como es que defines la variable de sesión desde la "cabecera" del mismo? .. deberías generar esa variable de sesión cuando presentas el formulario y lerla cuando proceses eso datos (para eso ya tienes un "if()"):
Código PHP:
Session_start();
if (!empty($_POST)) {
$_SESSION['codigo'] = $tu_codigo_generado;
// tu formualio
} else {
echo "Valor variable sesión: ".$_SESSION['codigo'];
}
Intenta usar un ejemplo más simple de uso de sesiones. Si no te funciona .. tendrás problemas con la propagación del SID.
No sé como propagas el SID en tu aplicación (no se vé que lo hagas manualmente) .. así que dejas a PHP y su configuración este punto. Si el SID no se propaga .. no podras acceder a los valores de tu sesión.
Te recomiendo leer sobre sesiones de PHP en:
www.php.net/session
(sobre todo sobre el concepto del "SID")
Un saludo,