How does the checksum stored in the reserved interrupt vector get there? If you look at the binary file it contains the hex bytes for a NOP instruction. Once flashed the value stored in memory is now the correct 2's complement of the other vectors so it seems to be set somewhere in the loading process.