Ho provato con po' di combinazioni a commentare queste righe:

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$user =& JFactory::getUser();

Il risultato è che la variabile arriva a second.php se i 2 require_once sono disattivati.
Cosa fanno di male a quella povera variabile in sessione? Come posso aggirare il problema?