Not robust, in the sense that it can't go in the argument to another command; the space is made active and defined to issue a high penalty and a space. A space following a penalty can't be taken as a line break point, only the penalty can, so this discourages breaks. Probably you want to disallow hyphenation, which can be easily done by adding \language=\l@nohyphenation in the definition of \DiscourageBreak.
\documentclass{article}
\makeatletter
\newcommand{\DiscourageBreak}{%
\begingroup\obeyspaces\sean@penalizespace
\sean@discouragebreak
}
\newcommand{\sean@discouragebreak}[1]{#1\endgroup}
\newcommand{\sean@penalizespace}{%
\begingroup\lccode`\~=`\ %
\lowercase{\endgroup\def~}{\penalty9000 \space}%
}
\makeatother
\begin{document}
I have some text and some other text and again.
I have some text and \DiscourageBreak{some text that \emph{shouldn't} be broken.}
What about the breaks?
I have some text and some other text and again.
I have some text and some text that \emph{shouldn't} be broken.
What about the breaks?
\end{document}
