Quando dichiari un oggetto 'globale' questa è visibile a tutto il progetto.
Ma quando dichiari un variabile a livello di routine, questa è 'locale' e non ha nulla a che vedere con quella globale, non importa se hanno lo stesso nome.

Per cui ciò che tu definisci strano è, al contrario, 'normale amministrazione'.

Non devi dichiarare MyDBAnno a livello di routine, ma utilizzare l'oggetto MyDBAnno già dichiarato a livello 'globale'