Non devi mettere il carattere di escape direttamente sulla stringa. si deve mettere al momento in cui farai la query.
Il REAL_ESCAPE necessita di avere la connessione a mysql e quindi provvedera' in base alle opzioni di configurazione se inserire \ oppure ' davanti ai caratteri che in SQL hanno funzioni di "caratteri di controllo". metendo l'escape sta ad indicare a mysql che quello che segue e' un valore ascii stringa e non un carattere di controllo.

Sulle stringhe esiste(va) la funzione addslashes() e stripslashes() come esisteva l'ormai desueto magic_quote on/off.

Il fatto di avere un select in input oppure un input type nulla cambia rispetto alla variabile inviata alla pagina seguente.

A proposto del form dovresti evitare di usare $_REQUEST poiche' ti becca indifferenemente i valori in GET, POST e COOKIE ed e' una manna per chi volesse forzare lo script. Dichiara nel form il metodo post e poi leggi $_POST e non il $_REQUEST

<form action='Ricerca_Corsi.php' method='post'>