Este es mi análisis, basado en su pequeña muestra de datos:
Si se ignoran los datos de "Nunca cambia", y también se eliminan los ceros antes de la suma de comprobación, los datos tienen este aspecto:
00100100 11000000 00000000 01000000 01111110
00100100 11000000 00000000 01100000 01000001
00100100 11000000 00000000 00100000 00000001
00100100 11000000 10010000 00100000 10010001
00100100 11000000 10010000 00110000 10001001
00100100 11000000 11010000 01100000 10110001
00100100 11000000 11010000 01000000 10010001
Así que son cuatro bytes de datos y un byte de suma de comprobación (o lo que sea).
Ahora, invierte el pedir de los bits dentro de esos cuatro bytes de datos (se omite la suma de comprobación), por lo que quiero decir que el bit 0 se convierte en el bit 7, el bit 1 se convierte en el bit 6, etc:
00100100 00000011 00000000 00000010
00100100 00000011 00000000 00000110
00100100 00000011 00000000 00000100
00100100 00000011 00001001 00000100
00100100 00000011 00001001 00001100
00100100 00000011 00001011 00000110
00100100 00000011 00001011 00000010
Ahora suma cada fila, módulo 255, invierte el orden de los bits de nuevo y compara el resultado con tu suma de comprobación:
01111110
10000010
10000000
10001001
10010001
10001101
10001001
A mí me funciona, pero quizá haya más datos (como el relleno cero) que se tengan en cuenta, pero necesitaríamos más muestras para averiguarlo. Por ahora, puedes crear el byte de la suma de comprobación simplemente invirtiendo el orden de los bits de cada byte de datos (es decir, ignorando el "nunca cambia") y tomando la suma, módulo 255, y luego invirtiendo el orden de los bits de esa suma.
Toda esta necesidad de inversión de bits sugiere que los datos se están enviando de forma contraria a como tú los estás interpretando. Por ejemplo, se está enviando primero el MSB y tú asumes primero el LSB o viceversa. Aparte de eso, la suma de comprobación es simplemente una suma acumulada de los datos, ignorando el desbordamiento.