I guess, NC-sim lost its mind, It forgot the right hand side concatenation which forces the bit 9 of lnbuf_m0_ADDR_d = 0.
In your always block, when lnbuf_m0_ADDR changes, the right hand side of your assignment is evaluated before the delay.
The simulator uses a temp variable to store lnbuf_m0_ADDR, and then 3ns later, your assginment statement is evaluated.
Because the Inbuf_m0_ADDR_d is 9 bits, the temp variable is 9 bit. So when lnbuf_m0_ADDR changes from 2'hFF -> 2'h00, the temp variable = 1FF.
After 3ns, the assignment statement is evaluate, the Inbuf_m0_ADDR_d is assigned to temp variable.