What is the purpose of the OTG_EN and OTG_FAULT pins? My assumption would be that OTG_EN is an active-high enable for SY6280 to produce "+5V OTG PWR". I would also assume that RB5 drives OTG_EN high. OTG_FAULT would seem to be an input of the PIC indicating a fault(too much draw maybe/short maybe?) on the "+5V OTG PWR" line.
And finally, the USBID:
TRISFbits.TRISF3 = 1; // Make RF3/USBID input
CNPUFbits.CNPUF3 = 1; // Pull-up enables on RPF3 (To set USB as a B-Device )
Is this enough to ensure the USB module operates in "device" mode?