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.