Sinceramente mi ricordo poco o niente di DAO, ma ci provo:

1. Probabilmente (ma controlla la guida) aprendo il recordset senza indicare il Tipo, potresti ottenere un recordset read-only.

2. A parte il punto 1, una volta impostato il nuovo valore devi fare l'update esplicito.
Se fai direttamente il MoveNext l'update non avviene (in ADO invece l'update č automatico)

3. Potrei anche sbagliare (non conoscendo i dettagli del tuo progetto), ma mi sembra sia inutile eseguire il requery
Me.Sottomaschera_Mese.Requery
ad ogni iterazione, fallo una volta concluso il ciclo For/Next

Chissā se ne ho azzeccata almeno una delle tre...