Das Problem selbst kann man einfach lösen:
\newcommand{\lkopf}[2]{\markboth{\leavevmode\ref{#1}#2}{}}
\newcommand{\rkopf}[2]{\markright{\leavevmode\ref{#1}#2}}
Das *Problem* hier war, dass `\ref` im konkreten Fall im vertikalen Modus etwas unsichtbares ausgibt. Unsichtbar deshalb, weil `\label` im Beispiel noch gar nichts hat, worauf es sich bezieht, die bezieht. Die ganzen Überschriften sind ja nicht nummeriert. Man könnte also genauso gut:
\newcommand{\lkopf}[2]{\markboth{#2}{}}
\newcommand{\rkopf}[2]{\markright{#2}}
verwenden. Schon das zeigt, dass mit dem Aufbau des Dokuments etwas nicht stimmt. Diese Unstimmigkeiten im Dokument werden durch die Änderung auch nicht gelöst. Um dazu mehr sagen zu können, müsste man aber erst einmal mehr über die konkreten Anforderungen und den Sinn und Zweck des Ganzen wissen.