I've seen this happen when the UDF/Macro was recorded on a machine with one resolution and played back on a machine with a different resolution. The macro records screen picks and not the actual menu items.
NX 12 | SW 2017 | Creo 4 | TcUA 11.4
Why to run macro for preferences? You can just set those under customer defaults.It will persist to the every next new NX session. No need of macro.
Setting and retriving the customer defaults will depend upon the mode of NX you are using, Native or Integrated with Teamcenter.