`\pageref` arbeitet mit Labels. Labels werden zwischen den LaTeX-Läufen in der `aux`-Datei gespeichert. Die `aux`-Datei wird während `\begin{document}` geladen. Daher liefert `\pageref` erst nach `\begin{document}` tatsächlich ein Seiten-Label.
Allerdings ist nicht gesagt, dass `\pageref` tatsächlich eine Zahl liefert. Es könnte beispielsweise auch eine Box mit einer Zahl liefern. Es ist daher etwas riskant eine Zahle mit `\pageref{LastPage}` zu vergleichen. Mit Hilfe des Pakets [`refcount`](http://www.ctan.org/pkg/refcount) gibt es allerdings eine sichere Möglichkeit. Durch geringe Umformung der Logik, kann man außerdem die gesamte Logik in die Präambel verschieben, also eine saubere Trennung von Form und Inhalt durchführen:
\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\usepackage[ngerman]{babel}
\usepackage{refcount}
\usepackage{lipsum}
\usepackage{lastpage}
\cfoot{%
\ifnum\getpagerefnumber{LastPage}>1
Seite \thepage\ von \pageref{LastPage}%
\fi
}
\begin{document}
\lipsum[1] % keine Seitennummerierung
%\lipsum % Seitennummerierung
\end{document}
Ansonsten: Um noch die *Nebenfrage* zu beantworten: Es ist durchaus erlaubt `\cfoot` innerhalb des Dokuments zu verwenden.