Might be a problem with the buffer size compared to the data being sent. They are different sizes.

Here is an example:
Code:
Buffer    VAR BYTE[16]
Cnt       VAR BYTE
B0        VAR BYTE
B1        VAR BYTE

ADCON1 = 15               ' Set all I/Os to Digital      
CMCON = 7                 ' Disable Comparators
Cnt = 16 
  
for b0 = 0 to 15
    lookup b0,["USB CONNECTED!",10,13],B1 
    BUFFER(B0) = B1
    NEXT B0
 USBINIT 
' Main Program Loop
Loop:
    USBService        ' Must service USB regularly
    USBOut 3, Buffer, Cnt, loop
    goto loop
As for your speed test... my brain is ready to fuss out for the day also...