C'est le prix à payer pour pouvoir référencer n'importe quel champ de n'importe quelle table SQL: l'ancien compilateur limitait l'usage de "#" à l'ensemble des balises connues d'avances, mais aujourd'hui elles ne le sont plus. Du coup, tout "#" suivi de majuscule(s) est considéré comme une balise. Il faut effectivement employer &, ou se servir de minuscules quand c'est possible (et c'est le cas ici).