Du musst einfach einen Absatz und `\medskip` in die Definition von `\kariert` einfügen:
\documentclass{article}
\usepackage{tikz}
%Befehl, um Latex beizubringen, was er beim \kariert{}-Befehl tun soll:
\newcommand{\kariert}[2][0.5]{%
\par\medskip\noindent
\pgfmathtruncatemacro\anzahl{.95\textwidth/#1cm}%
\begin{tikzpicture}
\draw[step=#1,color=gray, dashed] (0,0) grid (\anzahl*#1,#2*#1); %Anzahl der Kästchenreihen
\end{tikzpicture}%
}
\begin{document}
Hier steht mein Text. Und der Abstand sollte dann eine halbe Zeile zum Karo sein:
\kariert{4}
\end{document}
![ohne \strut][1]
Allerdings ist zu beachten, dass die halbe Zeile relativ zur tatsächlichen Tiefe der letzten Zeile gemessen wird. Da diese in Deinem Beispiel keine Unterlänge enthält, erscheint der Abstand eventuell zu gering. Soll immer relativ zu einer Standardtiefe der letzten Zeile positioniert werden, kann man das erzwingen, solange man sich noch im horizontalen Modus befindet:
![mit \strut][2]
\documentclass{article}
\usepackage{tikz}
%Befehl, um Latex beizubringen, was er beim \kariert{}-Befehl tun soll:
\newcommand{\kariert}[2][0.5]{%
\ifhmode\unskip\strut\fi\par\medskip
\noindent
\pgfmathtruncatemacro\anzahl{.95\textwidth/#1cm}%
\begin{tikzpicture}
\draw[step=#1,color=gray, dashed] (0,0) grid (\anzahl*#1,#2*#1); %Anzahl der Kästchenreihen
\end{tikzpicture}%
}
\begin{document}
Hier steht mein Text. Und der Abstand sollte dann eine halbe Zeile zum Karo sein:
\kariert{4}
\end{document}
BTW: `\\` sollte man im normalen Fließtext eher meiden. Das kann zu unangenehmen Effekten führen.
[1]: http://texwelt.de/wissen/upfiles/test4_11.png
[2]: http://texwelt.de/wissen/upfiles/test3_14.png