I guess when you load the new filament you use the Extrude button to feed it through? That will put the E position out of step with the GCode. i.e. the actual pos is ahead of the GCode, so the next GCode command that specifies E will be less than the actual, so will retract.
If you use M114 to get the current position just after you pause, you can then restore the E position to the expected position before resuming. I guess using G92 Exx.xx or maybe G92 E0 then extrude xx.xx mm.