It's not SetUnitLookAt that won't update, it's your SetDummyFacing function that's incorrect. It is deliberately designed to only pick one of 8 angles rather than rotating in a complete circle. Try using my function instead of yours and you will see that the facing angle updates instantly, but flickers to an incorrect direction each time it's set.
I just set bounds so that it thinks map is really small, and guess what?
It worked fine
It appears its based on distance or something...? (yes, view 3rd testmap)
(but yes I need to clean code for SetDummyFacing)
Edit: And a second testmap, with it as a constant distance toward the angle... the problem with this is you need to call UpdateDummyFacing( unit ) whenever you move dummy
Also, I need to find out how to set unit fly height negative, I'll ask Litany
Edit: And a third testmap, proving it updates at a lower frequency from higher distance (blizzard probably thought the unit would move smaller % of angle change, = distance moved / distance between units..)