MCLoader does have some issues - especially with USB-serial. I made it work much better by disassembling it, adding a 16 bit delay after the 1st jump vector and before the loader actually started executing and then re-assembling it. I now have something that works all the time. I use only a two-wire connection (I don't control MCLR). It still loads slowly, but at least it always gets started when I turn power on.