It sounds like the chip may not be getting erased before programming.

If you are using an melabs programmer, in meprog go to Options > More Options > Set Options to Defaults.

The OverSPWM label is so the include can jump over all of it's code.
Otherwise execution would fall into a subroutine without being called from a gosub.

All include files should jump over their own subroutines.