Il mio pensiero è che perdo la variabile $ricerca, ma ho anche provato a farla diventare variabile si sessione, ma nessun risultato...

Cosa può essere?
Sì, le variabili $_POST valgono per un solo invio. Fai prima ad aggiungere anche la stringa da cercare alle variabili $_GET.

Ad es. per cercare "ciao mamma":

home.php?page=search&string=ciao+mamma&lim1=0&lim2 =5

Le funzioni rawurlencode() e rawurldecode() gestiscono i caratteri speciali.