Avviso che nel codice postato tutti i caratteri & sono effettivamente scritti come & amp; solo che come posto la discussione vengono interpretati e quondi scritti nuovamente come &....ok?..il discorso vale anche per le lettere accentate...
Scrivo nuovamente il codice "incriminato":

echo "[*]<a href=\"index.php?page=tipoattivita& amp; type=$id\">$nome</a>";

*lo spazio per il carattere speciale della & è stato messo per evitare che quando posto la risposta venga scritto normalmente