I have made several joy stick projects over the years. A couple of observations.

1. In your ReportDescriptor1, you have only allocated 7 bits (buttons 1 to 7) You either need to change to
Code:
retlw	0x01		;	usage minimum  (button 1)
	retlw	0x29		
	retlw	0x08		;	usage maximum  (button 8)
	retlw	0x15		
	retlw	0x00		;	logical min (0)
	retlw	0x25		
	retlw	0x01		;	logical max (1)
	retlw	0x75
	retlw	0x01		;	report size (1)
	retlw	0x95
	retlw	0x08		; 	report count (8)
or add a one bit filler.

I have always used 10K pot for analog inputs.

Make sure you loop is less than 10ms or USB will time out.

Hope this helps

Dave