If a TeX macro is defined as having two arguments, TeX will always assign some token to both arguments, or raise an error.
Defining
\newcommand\mymacrotwo[2]{
\ifstrempty{#2}{
#1: none
}{
#1: #2
}
}
has already some weak points, because you're adding several spaces which will show up in the printout. Better would be
\newcommand\mymacrotwo[2]{%
\ifstrempty{#2}%
{%
#1: none%
}%
{%
#1: #2%
}%
}
How to align the braces for the alternatives is a matter of personal taste, but end-of-lines should be masked off unless you do want a space to show up.
Let's see what happens if you type
\mymacrotwo{hello} and some text
The macro has two arguments; the first one is determined to be hello, because a brace is scanned; the second argument will be a: when looking for an argument, TeX takes the first non space token it finds, unless it is {; in this case the argument is whatever appears up to the matching }.
If you call
\mymacrotwo{hello}
and some text
it would be exactly the same, because TeX converts the end-of-line into a space and spaces are ignored when looking for an argument.
TeXnical note: here I'm talking about undelimited arguments, the kind that is looked for when macros defined with \newcommand are concerned.
Leaving a blank line wouldn't help either: with
\mymacrotwo{hello}
and some text
the second argument would be \par, because TeX converts an empty line into a \par token.
Let's verify it. I'll use a simplified version of the macro that just prints its arguments:
\documentclass{article}
\newcommand{\mymacrotwo}[2]{%
``{\ttfamily \#1 is \detokenize{#1}, \#2 is \detokenize{#2}}''%
}
\begin{document}
\mymacrotwo{hello} and some text
\mymacrotwo{hello}
and some text
\mymacrotwo{hello}
and some text
\end{document}

So if you want to use your macro as intended, you must call it either
\mymacrotwo{hello}{}
or
\mymacrotwo{hello}{world}
Actually, with xparse one could define a macro with the characteristics you'd like, but it's debatable whether this fits into LaTeX syntax.
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\mymacrotwo}{ m g }
{%
\IfNoValueTF{#2}%
{%
#1: none%
}
{
#1: #2%
}%
}
\begin{document}
\mymacrotwo{hello} and some text
\mymacrotwo{hello}{world} and some text
\end{document}

I surely wouldn't recommend using this feature.
#1to be supplied using[]. As in\mymacrotwo[hello]{world}. – Werner Nov 19 '13 at 21:14[2][]instead of just[2], I guess, right? – Michael A Nov 19 '13 at 21:15\newcommand{\mymacrotwo}[2]{...}you can't use\mymacrotwo{hello}and hope that#2is considered empty. – egreg Nov 19 '13 at 21:16[2], and don't make any other changes to my document, everything seems to work. – Michael A Nov 19 '13 at 21:18\textbf, but probably not). Is there anything else I should provide? – Michael A Nov 19 '13 at 21:19