--- Quote Start ---
There is no indication of lock.
You have killed the error by /1e5 then (5*10^-5) , this adds almost nothing to nco tuning word whose range is 0 ~ +/-0.5
for .1 case error should settle zero and filtered signal should be dc (I think you got that because error is forced to nothing)
for .09 and .11 case error should settle at .01 (either plus or minus) and filtered signal should be dc (not sine wave)
--- Quote End ---
correction:
can you set RF signal to 0.1, 0.11,0.09 and keep nco at 0.1
also why you have nested your filter function twice?