¿Para que envias en un campo hidden de un formulario una variable de sesión .. cuando en el script que llegas* es donde podrías tomar esa variable de sesión sin problemas y sin necesidad de andar propagandola en un formulario? ...
Bueno .. por lo demás .. mezclar texto plano y "binarios" en un formulario en principio cara a HTML se define el "enctype" multiparte .. tal cual lo has hecho (enctype="multipart/form-data") y luego se continua tomando tus datos de texto plano por el array asociado POST: $_POST['comentario_cliente'] y demás .. y el archivo en sí lo tendrás en el array $_FILES según detalla la documentación oficial de PHP al respecto:
http://www.php.net/manual/es/features.file-upload.php
(en las FAQ's tambien tienes ejemplos)
Un saludo,
* suponiendo que el script que gestiona el upload del archivo esté en el mismo servidor y domino que el resto de la aplicación que genera esas variables de sesión.