Du udskriver binær data. Når du udskriver en char buffer stoppes der ved første NULL karakter. Det vil ikke give meget mening at udskrive binær data til konsollen, men du har sikkert læst dataene korrekt til din buffer.
Du har fuldstændig ret. Kan godt se nu, at dataene ligger korrekt i bufferen. Så må fejlen ligge et andet sted, checksummen passer ihvertfald ikke, når jeg får det smidt over på min client. Jeg leder videre... :-)