Thanks for looking into it! To be honest, I am not really good at RF. I based my code off the python code in gr-smartnet. The fsk-demod python file is here: https://github.com/bistromath/gr-smartnet/blob/master/src/python/fsk_demod.py
It is quite possible that it just happened to work because of an error that got patched in Gr 3.7.
Are there some good examples for GMSK/FSK demodulation that I could borrow from instead?
Recreating this in GRC sounds like a great idea so I can scope along the way. I will give that a try next.
Thanks again for the pointers, fresh eyes are really helpful when you have been staring at it for so long.