Lo normal es que detecte el VCC (los 5V+) del cable USB al conectarse y así intentar establecer la conexión de datos USB (ejecutar las funciones usb_task() ó usb_enumerated()) que de otro modo sería irrelevante ejecutar ya que el cable simplemente no estaría.
Este procedimiento es solo útil si el PIC se alimenta de una fuente distinta de USB y es solo cuando detecta dicha alimentación que es cuando se pone a conectar vía USB. En caso de estar alimentado tu PIC con el USB se supone que tiene el cable conectado y que desde el principio debe tener la conectividad USB disponible.