I can't make it NOT recognize the device when the OSC is 48 with 20mhz crystal.

Did you increase the size of the VUSB cap like mister_e suggested?

The way you have it now, the CPU is running at 24mhz. But, PBP thinks it 48mhz because of the DEFINE OSC 48. Any Time related statements will take twice as long.

If you are going to leave it at 24mhz? You should change to
DEFINE OSC 24

But I'd suggest trying 48 again.
<br>