I'll have to check and see if that fixes the issues I had in my particular sketch jumping from a .play() command to a .loop() command..
I would 'randomly' have the initial .play() clip get stuck in a loop.. (maybe what you suggested/pointed out is what was getting the internal 'pointer' all wonky)..
Also.. the on-board amp is fine....nice even. You can fix the pop by commenting out an extra reset() call/line in the library files.