I also have seen SDCCH assignment failures in our network, there are three most probable reasons ;
1. Bad BCCH usage (co & Adjacent channel interference high)
2. Bad BSIC usage (actually this is because of bad BCC plan) refer below for some of the examples for bad re-use (I’ve used BCCHs 115, 114, 116 & BSICs 75, 65 for illustrations)
BCCH 115, BSIC 75 re used closer to BCCH 115, BSIC 65
BCCH 115, BSIC 75 re used closer to BCCH 114 OR 116, BSIC 75 OR 65
in above cases try with changing the BCCH/BSIC
3. TRX failures- in this case try with resetting the TRXs, most of the time we have overcome the issue.