Hi mat I see you are using ASM to set up your config word, it is a greate idea, but I get a compiler error when I do it. I always edit the device include file 16F628.INC:
NOLIST
ifdef PM_USED
LIST
include 'M16F62x.INC' ; PM header
device pic16F628, intrc_osc, wdt_off, pwrt_off, mclr_off, lvp_off, protect_off
XALL
NOLIST