The main issues here are that:
a) The satellite is drifting, and so isn’t always on the correct centre frequency.
b) for the OGG output the BPSK flowgraph is only shifting the signal (assumed to be at 0 Hz), up to baud_rate Hz (in this case, 1200 Hz).
In the case of many observations, the funcube signals are a bit low, and so it ends up too low in frequency in the output OGG file.
I would suggest that instead of shifting the signal up just baud_rate Hz, it is shifted up to the centre of the available OGG file bandwidth - e.g. 12 kHz. The OGG sample rate is 48 kHz, so we can make use of everything up to 24 kHz. Why not do so?
This way even if the signal is off frequency by a few kHz, it will still end up in the output file and (hopefully) be decodable by Funcube Dashboard.
I should note that I don’t have these dashboard installed at the moment - can someone confirm that they will happily look at all the available bandwidth in a recording (e.g. 0-24 kHz), not just the bottom 3 kHz?