It looks like your heart rate belt uses a slightly different message period. We've testet one from the 3797A-HRM1B series, which uses the message period 8070(4.06 Hz), as defined in the profile.
Perhaps yours uses 8192 (4.00 Hz) for some reason - the results might look like the logs you posted...
I don't think there's anything wrong with your code if your message rate is indeed successfully set to 8070. Have you tried to verify your results using Antware?