Maybe it's because you data has to be between -100 and 100.
If your range is 0-255 you should change the descriptor:
Replace:
0x15, 0x9c, /* Logical Minimum (-100) */
0x25, 0x64, /* Logical Maximum (100) */
by:
0x15, 0x00, /* Logical Minimum (0) */
0x26, 0xff, 0x00, /* Logical Maximum (255) */