Hi Alex,
I'm not sure I actually understand what you mean, do you mean that when the first update arrives from the server your forEachChangedField does not iterate correctly? Or do you mean that the onVisualUpdate does not even fire?
I confirm that that's not the expected behavior.
Take a look here:
http://jsfiddle.net/xb2hxohs/
Might be you're referring to the initial values embedded in the html page? Or maybe you add the listener to the grid when the first update already reached the client?