I am supposing the following synchronization scenario when MS search Neighbouring BCCH for the first time (if I am wrong you may to correct me):
MS gets neighbour’s ARFCHN, BSIC, and RTD (Real Time Difference) from the system info on SACCH.
By means of RTD it find out TS0 of neighbouring cell.
Then during each Idle frame in 26-multiframe MS peeks in Neighbour BCCH TS0 and looking for FCCH and SCH.
As Idle frame is shifting ahead on 1 frame per 1 51-multiframe in TS0 of a Neighbouring BCCH, then at one time the MS will find out the FCCH and SCH (and will check out the BSIC value) of the neighbouring BCCH.
All subsequential searchings for measurements are based on this result.