I don’t have the code snippets in front of me right now, but QFG1VGA and QFG3 also both move the mouse cursor programmatically (when clicking the “other” menu for running/sneaking/magic). I would expect those to also be similar code to the above.
So as far as I can tell, there aren’t two sets of variables — one for visual one for actual cursor placement.
The thing that’s occurring to me now is that the QFG1EGA code only sets cursor coordinates if it detects no mouse. That uses SCI0, like your Betrayed Alliance, while the other examples use SCI1. It’s possible SCI0 interpreters don’t actually let you position the actual cursor.
I’m racking my brains trying to think of an SCI0 example, but the closest I can get is vaguely recalling being annoyed when QFG2 used to move my mouse back to the corner after cutscenes. And even then, that’s technically SCI1, too.