I have an update to this behavior. It is still not fixed.
I was using a separate multiply block after the CPFSK block to control the amplitude. There was no good reason for this, it's just how I set it up the first time.
I decided to remove that multiply block and use the built in amplitude parameter to control the output gain. This has reduced the accumulating phase offset that creeps into the CPFSK output, but not completely. Overtime, the real part of the output will still begin to change phase.
This leads me to believe there is some kind of thread timing issue that is allowing a phase offset to creep into the CPFSK output on the transmitter side. I'm including a screenshot of my transmitter. Not much going on here. I am also including a screenshot of the real and imaginary time series when the program first starts and after a few minutes of run time.
Rich