1. Поменял вызов сниппета на стандартный синтаксис modx, т.е. [[!Register?&...]]. Иначе результат вызова сниппета кешируется. 2. Добавил поле login. Сначала я хотел сделать input[name=«mail»] в качестве логина, но поле «email» — обязательное для сниппета Register, и поэтому, когда сниппет не находит поля с именем email (по умолчанию), он говорит, что это поле обязательное.