Q:

Destruir session ao sair da página

Possuo um sistema para cadastro de orçamentos e preciso que, quando a pessoa fechar a página, antes, exiba uma mensagem de confirmação, se realmente deseja sair da página. Se ela confirmar, destruir a sessão.
Session que preciso:
$_SESSION['produtos']

A:

A identificação da sessão do usuário se dá por um cookie - por padrão, o nome do cookie é PHPSESSID. Se o usuário perder o cookie, ele perderá a sessão, simples assim.
Assim, para que a sessão se mantenha viva apenas enquanto o usuário possuir o navegador aberto, basta você configurar para que o cookie sobreviva enquanto o usuário manter o navegador aberto.
Em tempo de execução, você pode configurar isso com a função session_set_cookie_params, ou pode alterar seu php.ini de acordo:
void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

O primeiro parâmetro define o tempo de vida do cookie da sessão, em segundos. Se informado o valor 0, que é o padrão, o cookie expirará quando o navegador for fechado.
Inclusive, opções como "Lembrar-me" durante o login costumam apenas definir um tempo diferente de 0 para o tempo de vida do cookie, assim ele será persistido no navegador mesmo quando este for fechado.

Quanto à mensagem de confirmação para fechar a página, você deve fazer isso com JavaScript, sem relação alguma com o PHP. Algo como, por exemplo, ouvir o evento unload da janela:
window.onbeforeunload = function() {
    return "Gostaria mesmo de sair?";
};

Créditos ao Guilherme

Talvez não seja exatamente isso, pois tentei reproduzir e não consegui. Buscarei mais detalhes, mas se alguém souber, só avisar que já edito.

