Does the radio have a speed of search/scan option ?
It's a fixed rate at around 70ch/s for scan and search 80ch/s.
When the scanner detects a carrier it stops search and if the ZeroMatic feature are enabled it will have a delay and then checks if the frequency are withing the limits, inside of some +/-2,5KHz of the displayed frequency, and then opens squelch. If the scanners frequency have drifted or have other issues then the ZeroMatic function could make you skip transmissions.
So disable ZM from search just to test and if it improves the number of hits that are on frequency then if you need ZM to be used to filter out those that are on an adjacent channel then you will have to fiddle with the ZM settings.
ZM delay are how long it stays on a frequency after it has been detected to have a carrier and then checks if the frequency are within its limits. It needs to be a long enough time to allow the oscillator to settle at the frequency and might be needed to have a longer time for an old scanner and it would skip a lot of channels if the time are too short.
Slope are how the frequency error differ between a low frequency and a high and are impossible to know for a normal user.
Threshold are the setting to match the calibrated frequency and the default 1180 are for a scanner that have an exact frequency calibration. Any error in frequency needs the value to be changed but are also impossible to know. If you have a constant transmission you can receive then include that in a limit search range, perhaps a 1 MHz range, with ZM disabled and check that search stops on it and then enable ZM again. Then change ZM delay to 250 and ZM threshold to minimum 900 and see if it detects the signal too early, the channel before the actual one. Set threshold to max 1500 and check if it then skips the actual frequency and stops one channel higher.
My scanner search skips my test channel at 1500, going too far off in frequency, and stops a channel higher, but doesn't stop early at 900 so my ideal value are lower than default at something like 1050.
The flexstep option should be enabled while testing that makes the search go at half channel steps and if possible select a test channel that are in a band that has the lowest step size in its bandplan.
Go in 10 step values for the ZM threshold and make it closer to the default 1180 value and see if it acts symmetric when going from the 1500 value as for when going from the 900 value and then select a value to be used that are in the middle of the two values that behaves the same for stopping early and stopping late.
Of course it is much easier if using a signal generator and change its frequency slightly until the search doesn't stop on it and test both + and - error and check that those are equal with the selected threshold value.
ZM isn't used during scan so if that is the problem then this test wouldn't do any good for that.
/Ubbe