I have implemented the binary protocol from scratch many years ago. Amusingly, at the time, the data files downloaded from Garmins was pretty much the same protocol but just in a file. If you got a USB Ant+ receiver you got, as I recall, the same protocol from libusb.
I guess the problem is, once they have been given the protocol in a document covered by an NDA they can't use it outside that contract, even though they could trivially clean-room it.