Тъй като първият посочен код работи, а също и въз основа на докладваната следа, почти съм сигурен, че проблемът е в базата данни, а не в синтаксиса на кода.
Въз основа на версията на Mysql, моля, опитайте като алтернатива да зададете привилегии, без да указвате хост (%) според Документация на Mysql ,
Също така изчистете привилегиите веднага след използване на FLUSH PRIVILEGES;
Само за да се уверите, че всичко е правилно, стартирайте и SHOW GRANTS FOR NewUser;
и проверете дали NewUser се появява в списъка със съответните разрешения.