I generally use \newcommand*
instead \newcommand
whenever it makes sense, to ease error checking if the command doesn't sensibly take multi-paragraph arguments.
Is there a starred version of \DeclareRobustCommand
that does the same checking (that it, it makes sure that the arguments to the command are not multi-paragraph)?