#0 statements

I got you are point. But as per initial block all statements will execute in serial order.
i.e. first #0 statement will complete in “in-active region”. Next the display will execute in active region. But active region doesn’t having updated "a’ values than how display will recorded that updated “a” value.

like non-blocking assignments evaluation is done in active region and assignment will done in NBA region of event queue. That’s why display only will record what are the values is there in active region.it will not record the NBA region values.