pgf writes position labels in the .aux file, when remember picture is used, for example. These labels are set after the page is shipped out and are available in the next LaTeX run. However, LaTeX does not provide a rerun warning, if these labels have changed.
Therefore I suggest to use LaTeX's reference system for implementing \pgfsyspdfmark if LaTeX is running (using a different reference class than \label or \cite):
\pgfutil@IfUndefined{@newl@bel}{%
% definition without LaTeX
\def\pgfsyspdfmark#1#2#3{%
\expandafter\gdef\csname pgf@sys@pdf@mark@pos@#1\endcsname{\pgfqpoint{#2sp}{#3sp}}%
}%
}{%
% definition with LaTeX
\def\pgfsyspdfmark#1#2#3{%
\@newl@bel{pgf@sys@pdf@mark@pos}{#1}{\pgfqpoint{#2sp}{#3sp}}%
}%
}
Then LaTeX throws a rerun warning, if the positions have changed. The trick in the implementation is using pgf@sys@pdf@mark as reference class. Then LaTeX globally defines the macro \<class>@<#1>, the same macro name \pgf@sys@pdf@mark@<#1> with the same contents as the original \pgfsyspdfmark has defined.
This ticket appears to work now, with the solution outlined by Heiko.
I suppose Till worked on it in the meantime.
This remark is a reminder for me not to look into it anymore and - perhaps - a reminder for Till to close it if it is supposed to be done.
See https://github.com/pgf-tikz/pgf/issues/607