With the melabs serial programmer make sure you have these two
menu options selected.

Update Configuration From File
Reread File Before Programming

This makes sure you are always getting the latest version of the .hex
file & whatever config word changes you make programmed into the
target.

Also, I recommend inserting "every" config word option the target has.
This way there is no doubt how each option is configured.

With all of the advanced configuration options the 18F series has, It's in
your best interest to know exactly how every option is set. Accepting a
default un-programmed state may cause you problems.

For the 18F series I comment out every default setting in the PBP device
header file, and insert my own config fuse settings in my source.