Lasse die Klammern um das dritte Argument weg:
\newcommand{\startstop}[3]{\node ({#1}) [startstop, #3] {#2};}
Ich würde außerdem den Stil mit `\tikzset` definieren. `\tikzstyle` gilt offiziell als veraltet.
\documentclass{standalone}
\pagestyle{empty}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\tikzset{
startstop/.style = { % Start Stop Shape
rectangle, rounded corners,
minimum width=3cm, minimum height=1cm,
text centered, text width=3cm,
draw=black, fill=red!30
}
}
\newcommand{\startstop}[3]{\node ({#1}) [startstop, #3] {#2};}
\begin{document}
\begin{tikzpicture}[node distance=2cm, auto]
\node (node0) [startstop] {Start};
\node (node1) [startstop, below of=node0] {Text};
\startstop{node2}{Textinhalt}{below of=node1}
\end{tikzpicture}
\end{document}\end{document}
----------
Anmerkung: mit der jetzigen Definition
\newcommand{\startstop}[3]{\node ({#1}) [startstop, #3] {#2};}
kann man nicht mehr ohne weiteres eckige Klammern in `#3` verwenden. Eine bessere Definition wäre daher
\newcommand{\startstop}[3]{\node ({#1}) [{startstop, #3}] {#2};}
Beim Auslesen des Arguments, das der eckigen Klammer folgt wird im Prozess dann dieses äußere Paar eckiger Klammern entfernt. Danke an @saputello für den Hinweis.