Nice guide :). By the way, the checksum used is in different places because their routine is broken. If I remember correctly, they loop through each section until they find section 0xD and use the one right before it.
What they meant to do, was to loop through all 13 sections and xor the checksums. IIRC, they also screwed up the xor by not assigning the result back to the running value.
How do we know they screwed up? Because it was fixed in a later distribution.