Please check console with enabled commands. All that the command should do is send M221 Spercent and the rest is done by firmware. So as long as it does not send M221 S0 e.g. M221 S99 it would be a firmware problem. With console it should be easy to see what gets send to verify where it lies. Will also test. You do not need to test with a print. Just doing it while idle is all needed.