Der Stern als Token wird in LaTeX als Teil des Befehlsnamens verstanden. Somit kommt dem Stern also nur eine symbolische Wirkung zu. Es könnte genauso ein `+` sein.
Der Test `\@ifstar` is auch genau so im LaTeX Kernel definiert:
\def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}}
Willst du die Eigenschaften eines Tokens ändern, so kannst du dessen `\catcode` ändern. Willst du beispielsweise, dass LaTeX alle `*` ignoriert, so kannst du das durch die Zuweisung des catcode 9 erreichen. Im nachstehenden Beispiel werden die Anweisungen `\ActivateStar` und `DeactivateStar` definiert, die genau diesen catcode-Wechsel durchführen.
\documentclass[]{article}
\protected\edef\ActivateStar{%
\catcode42 = \the\catcode42\relax%42 is the star: \number`\*
}
\protected\edef\DeactivateStar{%
\catcode42 = 9\relax%catcode 9 token wird ignoriert
}
\begin{document}
\tableofcontents
\DeactivateStar
\section*{foo}
\ActivateStar
\section*{foo}
\end{document}
Durch die oben gezeigte Deklaration werden aber all Token * ignoriert. Somit führt die Eingabe `L*T` zu `LT`.`LT`.
----
Allerdings noch eine Anmerkung. Wenn ein internes Makro die Sternvariante nutzt, hat es einen guten Grund. Es muss also immer darauf geachtet werden, was man erreichen bzw. ändern möchte.