...la paginazione?? non credo sia direttamente interessata nella gestione delle sessioni.
comunque, prova la strada più semplice. Nella pagina che riceve i dati, all'inizio farai un qualche tipo di controllo per capire ed accertarti che i dati siano stati inviati dal form e che non siano vuoti, no? Allora, subito dopo aver verificato questa cosa memorizza i dati provenienti dal form in altrettante sessioni, cos' come avevi già tentato di fare:
Adesso, se tutto è andato a buon fine, avrai valorizzato esattamente le sessioni e i dati in esse contenuti saranno disponibili per tutta la durata dello script, a meno chè tu non decida di eliminarle alla fine dell'esito della ricerca, con le due istruzioni che ti ho indicato prima.Codice PHP:
<?php
session_start();
//verifica se i dati sono stati inviati dal form
$_SESSION["anno"]=$_POST["anno"];
$_SESSION["autori"]=$_POST["autori"];
...
?>
Se poi, come hai accennato prima, la paginazione ti crea dei problemi allora cerca tu stesso di individuare il punto in cui si verifica l'errore. Procedi a ritroso nel codice fino a quando non riscontri qualcosa di strano, isolando il problema però.