I am very thankful I found this thread because I was having the very same issue and, after some experimenting with your scripts it works better for me too now.
However, I do have a question: why there is no M915 command on these routines? I assume if ignored it assumes a certain value lie S3??
I mean, I tried with and without M915 and it works, so... I am confused, somehow