I just noticed that you are making the same mistake with your SetChannelPeriod() function. 
Right now the message you send is [03][43][00]
[20][00] which corresponds to a message period of essentially 16kHz. 
You should should be sending the message [03][43][00]
[02][00] which corresponds to a message period of 4 Hz. 
I would like to note that most ANT messages use little endian format, unless otherwise indicated. So, as a default, if you have a 2 byte (or more) number, try using little endian format first, it will save you a lot of grief.