It appear than this 'nanowatt' & 18F technology is a real pain now. Here's a few things i've notice.
  • 1. it appear to be less noise sensitive on lower supply voltage...

    2. using Brown out voltage as low as you can prevent erratic reboot... not better if you don't set any brown out voltage.

    3. use a low value resistor to the VCC of the PIC and adding a 22uF tantalum + 0.1 ceramic capacitor between PIC VDD and VSS... it help !

    4. I also try with a dedicated voltage regulator only for the PIC... i didn't see any difference.

    5. all unused i/o are set as input and tie directly to the ground.

    6. Using internal pull-up appear to give some 'erratic' problems too. i use external 1k for now... seems to be more stable than with 4.7k or 10k.
PCB design is a real major cause. On bread board it's often a pain at 20MHZ or higher. Here's a few tips.
  • 1. pcb must have many ground plane surface on both side.

    2. PIC must be in the center of your design.

    3. keep pull-up/down resisor as close as you can of the PIC

    4. every filter cap as close as you can... deuuu!

    5. if you can, solder a ground to the crystal casing