Assuming your oscillator is working properly, you're using DEFINE OSC to match the loader, and connections are good, it should work fine unless there's a bug in the loader firmware. But I have never had any problems with MCS loader firmware.

Reset required just means the PC app isn't communicating with the PIC loader. Just out of curiosity, what happens if you comment out all of your HSER defines & all references to HSEROUT/HSERIN?

Will it boot-load then?