The star is treated as binary operator. In the first two cases, there are not enough math atoms for a binary operator, but in the third case, the first star is "multiplicated" with the third star and the second star is set as binary operator with additional spaces.
You can get rid of this behaviour by putting the star in braces. Braces in math mode make a subformula that is treated as ordinary math atom:
{*}{*}{*} or *{*}*
Also \textstyle can be improved. Probably it should avoid that the star is set in \scriptstyle as superscript whereas the number has normal size. \mathchoice helps here.
It takes four arguments for the four styles and TeX uses the argument for the style that is finally active.
\documentclass{article}
\newcommand*{\SuperScriptSameStyle}[1]{%
\ensuremath{%
\mathchoice
{{}^{\displaystyle #1}}%
{{}^{\textstyle #1}}%
{{}^{\scriptstyle #1}}%
{{}^{\scriptscriptstyle #1}}%
}%
}
\newcommand*{\oneS}{\SuperScriptSameStyle{*}}
\newcommand*{\twoS}{\SuperScriptSameStyle{**}}
\newcommand*{\threeS}{\SuperScriptSameStyle{*{*}*}}
\begin{document}
0.11\oneS
0.11\twoS
0.11\threeS
$\frac{0.11\oneS}{0.11\twoS_{0.11\threeS}}$
\end{document}

Addition
Using LaTeX's \mathpalette the definition can be simplified a little:
\newcommand*{\SuperScriptSameStyle}[1]{%
\ensuremath{%
\mathpalette\SuperScriptSameStyleAux{#1}%
}%
}
\newcommand*{\SuperScriptSameStyleAux}[2]{%
% #1: math style
% #2: superscript
{}^{#1#2}%
}