Man muss mit `\leavevmode` erst in the horizontalen Modus wechseln. Wieso das mit `hyperref` auf einmal nötig ist weiß ich nicht. In `\tabheading` ist eigentlich egal, weil das ja nicht innerhalb der Tabelle steht, ich habe es aber vorsichtshalber auch dort hinzugefügt.
\documentclass{scrreprt}
\renewcommand*{\familydefault}{\sfdefault}
\usepackage{tabularx}
\usepackage{xspace}
\newcounter{tabheading}
\newcounter{tabitem}[tabheading]
\newcommand\tabheading{%
\leavevmode % <------------- NEU
\refstepcounter{tabheading}%
\textbf{\thetabheading}\xspace
}
\newcommand\tabitem{%
\leavevmode % <------------- NEU
\refstepcounter{tabitem}
\refstepcounter{tabitem}%
\thetabheading.\thetabitem\xspace
}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{digsig} % ruiniert Layout
%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\tabheading Es ist wichtig, dass alle Fragen in diesem Bogen beantwortet werden. \par
\noindent
\begin{tabularx}{\textwidth}{|p{0.5\textwidth} | X |}
\hline
\tabitem Name: & \tabitem Beruf \\ \hline
\multicolumn{2}{| l |}{\tabitem Straße und Hausnummer:} \\ \hline
Postleitzahl: & Ort: \\ \hline
\tabitem Geburtsdatum: & \tabitem Telefonnummer: \\ \hline
\end{tabularx} \par
\bigskip
\tabitem Beschreiben Sie...
\end{document}