Then from scratch try commands like (just an example):
(with-current-buffer "test"
(right-char)
(insert "X"))
Or similes several times...
You will see that the region is not updated.
With your above test, I do see the region being updated.
When it fails to do its job is for:
(with-selected-window (next-window) (forward-line -1))
I.e. when the only change in that other window is that point was moved.
The redisplay does update the cursor but it fails to run
`pre-redisplay-functions` in that other window :-(
Stefan