DT_HID already uses the USB interrupt.
If you override it, then USB can't happen anymore.

Besides, your routine is not suitable for interrupts anyway.
There's 1000 loops with pauses and gosubs ... wouldn't work.

There is already a way to determine if the cable is plugged in or not, and that is handled by DT_HID.

When the cable is plugged in, and the USB is connected to the PC and has fully enumerated. The Plugged bit will be 1. When not plugged, it's 0.

So just put your routine in the Main loop, and only run it IF Plugged = 1.

Don't forget to restore the INT_Handler ...
Code:
ASM
INT_LIST  macro    ; IntSource,          Label,  Type, ResetFlag?
        INT_Handler   USB_Handler
    endm
    INT_CREATE               ; Creates the interrupt processor
endasm
Also, DO NOT enter sleep mode when using USB.
<br>