`\fcolorbox` entspricht in seinem vertikalen und horizontalen Platzverbrauch `\framebox`. Beide haben einen Rand in Breite `\fboxrule` und einen Abstand zu diesen diesem Rand von `\fboxsep`. Wenn man also die gesamte Zeilenlänge ausnutzen will, muss man genau diese Längen zweimal abziehen (einmal für die den linken und einmal für den rechten Rand der Box). `\colorbox` unterscheidet sich von `\fcolorbox` nur darin, dass kein Rand existiert, also `\fboxrule` keine Rolle spielt.
spielt. Den Abstand `\fboxsep` gibt es trotzdem.
Es sei außerdem darauf hingewiesen, dass `\\` im Blocksatz nicht verwendet werden sollte. Wenn der Kasten nicht innerhalb eines Absatzes vorkommen soll, sollte man in der Definition der Umgebung vor der Ausgabe der Box einen Absatz beginnen und danach auch beenden. Damit die Box ganz links steht, wird dann natürlich ein `\noindent` benötigt. Damit ergibt sich beispielsweise:
\documentclass[a5paper]{scrreprt}
\usepackage{xcolor}
\usepackage{showframe}
%\newenvironment{UMGEBUNGSNAME}[ANZAHL][OPTIONAL]{BEGIN}{END}
\newsavebox{\ToDoBox}
\newenvironment{MyToDo}[1] %Name %Anzahl
[] %OPTIONALEs Argument standardmäßig leer
{%BEGIN
\begin{lrbox}{\ToDoBox}%
\begin{minipage}{\dimexpr\linewidth-2\fboxrule-2\fboxsep}
% Fallunterscheidung % -----------------------
\newcommand{\TITEL}{%
\colorbox{blue!50}{\makebox[\dimexpr\linewidth-2\fboxsep][l]{\textbf{#1}}}\par
}%
\if \detokenize{#1}\relax\relax
% #1 is realy empty, even not & or something like this
\else
\TITEL % #1 is nonempty
\fi
% -----------------------
\itshape
}%
{%END
\end{minipage}
\end{lrbox}%
\par
% Wenn ein vertikaler Abstand vor der Box sein soll, hier beispielsweise
% \vspace{\baselineskip}
% einfügen.
\noindent\fcolorbox{black}{orange}{\usebox{\ToDoBox}}\par
% Wenn ein vertikaler Abstand nach der Box sein soll, hier beispielsweise
% \vspace{\baselineskip}
% einfügen.
}%
\usepackage{mwe}
\begin{document}
\begin{MyToDo}
Some text here.
\end{MyToDo}
\blindtext
\begin{MyToDo}[So lautet der Titel]
Some text here.
\end{MyToDo}
\end{document}
Das Paket [`showframe`](http://www.ctan.org/pkg/showframe) habe ich lediglich eingefügt, um den Satzspiegel kenntlich zu machen.