Observe na barra de endereço se fica nome_da_pagina.php?id=alguma_coisa Se ficar você está passando... Na página que está com problema dê um print_r($_GET) para mostrar tudo que está retornando pelo $_GET.
Troca: $faixasmais = mysql_query("SELECT * FROM musicas WHERE artista = '".$_GET['Artista']."' GROUP BY musica ORDER BY sum(plays) desc LIMIT 15"); Por: $faixasmais = mysql_query("SELECT * FROM musicas WHERE artista = '".$_GET['Artista']."' GROUP BY musica ORDER BY sum(plays) desc LIMIT 15")OR DIE(mysql_error()); Isso vai fazer o mysql retornar o erro.
Coloque os session_start(); na primeira linha de todos os arquivos e retira os @ da frente deles... use o print_r($_SESSION) para ver tudo que está salvo nas sessões.
Crie uma página com os campos do formulário, e utilize estes campos para atualizar o BD, no WHERE você pode utilizar o id guardado em uma sessão, já que o ID não vai mudar.
O erro: Cannot send session cookie - headers already sent Você está tentando iniciar a sessão depois de enviar algo para o navegador. O erro: exec() has been disabled for security reasons A mensagem é auto-explicativa.
Basta verificar em cada página que deve ser protegida se a sessão que você criou no login existe: if(!isset($_SESSION['sessao_qualquer'])){
echo 'não está logado';
exit;
}