Problem solved, thanks for all your input.
Server 1 has a view generating the checksum through a set of CTE's joined together in the CHECKSUM. It turns out that one of the CTE's returns records with the same timestamp, this resulting in a random sort order. When selecting the sum, I would get one or the other even if no change had happened (I have told them not to use that field, but do they listen???)
I was way off but still I find it strange that the bit pattern between the two 32-bit checksums I got (hhhX Xhhh) consistently only differed in the X-bytes (as in 0000 XXXX and XXXX 0000).