Checksum Nightmare!

At first you say:

Checksum is a 2 byte value

but then you say

The checksum of the frame above is 0x29

which is one byte.
Which is it?
I agree with Tom Carpenter that testing it with some random data to get more checksums might help.

Pete