Não sei Haroldo, acho que aqui está correto. Segue meu código do onValidate da aplicação de controle de login:
$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(sc_encode({senha}));
$id_sindicato = valida_sindicato({nome_sindicato});
if ($id_sindicato > 0){	
$sql = “SELECT id,
active,
name,
priv_admin,					
id_sindicato
FROM users
WHERE login	= $slogin
AND pswd	= $spswd
AND id_sindicato = ‘$id_sindicato’”;
sc_lookup(rs, $sql);
//Se positivo!
if(strlen(trim({rs[0][4]})) > 0){
	//acessa
	if({rs[0][1]} == 'Y'){
		$usr_id		= {rs[0][0]};
		$usr_name	= {rs[0][2]};
		$priv_admin	= {rs[0][3]};
		
		[id_sindicato] = $id_sindicato;
		[usr_id] = $usr_id;
		[usr_name] = $usr_name;
		[priv_admin] = $priv_admin;
			
		sc_apl_status("treemenu","on");
		
		sc_redir(treemenu,permiteacesso='S');
	}else{
		sc_error_message({lang_error_not_active});
		sc_error_exit();
	}
}else{
	$error_message = 'Sindicato não identificado.'; // Error message
	sc_error_message($error_message);
	sc_error_exit();
}
Tudo aqui está fazendo certo. até chamar o treemenu. No treemenu as informações nestas globais chegam lá normalmente. As globais estão como session a [id_sindicato] está como entrada pois ela vai está no sql e nos campos das outras aplicações, o valor desta variável vai está em todas as tabelas por isso deixei em session de entrada.
publiquei em uma pasta local e executei, e tudo funciona como quero, rodando como teste em desenvolvimento também roda tudo perfeito. só quando subo para a web que vou rodar lá é que as variáveis só chegam com valores até o treemenu, na chamada das aplicações não chegam mais os valores, a variável está como vazia.
Acho que se fosse no código, não executava em local, posso está errado, mas interpreto assim, uma vez que o código é o mesmo.
Só informando meu sc é 8.1
Desde já agradeço a atenção de quem puder me ajudar.