That's probably down to the 128K Spectrums having a slightly faster clock speed than the original 16/48K model (3.5469MHz versus 3.5 exactly). I knew this would cause the timings to drift (hence the need for the RasPi to provide a time source) but I overlooked the effect this would have on pitch...
(On the other hand - since the BEEP routine was being called from BASIC, adding in a pitch adjustment calculation may well have slowed things down enough to throw the timing off again :-) )