non capisco una cosa, se tu nella select fai un if su $_POST['submit'], vuol dire che in quella pagina hai i valori di $_POST .... e allora a cosa ti serve usare la sessione?

prova così:

codice:
<select id="anno" class="form" name="anno">
<option value="Anno">Anno</option>
<option value="2014" <?php if(isset($_POST['anno']) && $_POST['anno']=="2014") echo "selected='yes' "; ?>>2014</option>
<option value="2013" <?php if(isset($_POST['anno']) && $_POST['anno']=="2013") echo "selected='yes' "; ?>>2013</option>
<option value="2012" <?php if(isset($_POST['anno']) && $_POST['anno']=="2012") echo "selected='yes' "; ?>>2012</option>
<option value="2011" <?php if(isset($_POST['anno']) && $_POST['anno']=="2011") echo "selected='yes' "; ?>>2011</option>
<option value="2010" <?php if(isset($_POST['anno']) && $_POST['anno']=="2010") echo "selected='yes' "; ?>>2010</option>
</select>
verifica anche che nel form non ci sia nessun altro campo (text, select o altro) che si chiami anno ( cioè che abbia come attributo name="anno" )