Ah, there's piece of code in the display change that resets some internal variables for the size of the surface area. Try this one, which sends the enable/disable command twice, so it ends up back in the same state as before the script.
local scrnX = acGetSystemMetrics(76)
local scrnY = acGetSystemMetrics(77)
local scrnCX = acGetSystemMetrics(78)
local scrnCY = acGetSystemMetrics(79)
local spWindow = acFindWindow("STROKESPLUS")
acMoveWindow(spWindow, nil, nil, scrnX, scrnY)
acSetWindowSize(spWindow, nil, nil, scrnCX, scrnCY)
acPostMessage(acFindWindow("STROKESPLUS"),122, nil, nil)
acPostMessage(acFindWindow("STROKESPLUS"),122, nil, nil)