It looks like it has to do with being maximized while saving the position.
I tried the following:
1. mIRC on secondary screen, maximized, Position > Save, exit mIRC, start -> starts on primary screen
2. mIRC on secondary screen, not maximized, Position > Save, exit mIRC, start -> starts on secondary screen
3. mIRC on secondary screen again, settings restored correctly from 2., maximize the window, Position > Save, exit mIRC, start -> starts on secondary screen
This was slightly unexpected, but works for me if it keeps starting on the secondary screen from now on. I do hope a reboot (or otherwise active monitor sense from Display Port) doesn't change this; if it does I'll add another reply.
However, even after being on the secondary screen and maximized, the position stored as main is slightly different to before:
[windows]
main=2965,1160,307,840,2,1,0
It looks more like the center of the screen, where I had it for the test in 2. before maximizing it.
Perhaps it is related to the position after all, and you don't store the position when it goes off screen?