setkomafont with uppercase that works robustly

Imho there is no better way. A font is the best solution. Some of the problems with \uppercase & friends are described in the FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=casechange. In your example there are the additional problems that you don't know where in the code the upper case command is executed and you can have various arguments.


You can add a layer over \section and redefine \author:

\makeatletter
\def\author#1{\gdef\@author{\MakeUppercase{#1}}}
\let\scr@section\section
\def\section{\@ifstar\seamus@sections\seamus@section}
\def\seamus@sections#1{\scr@section*{\MakeUppercase{#1}}}
\def\seamus@section{\@dblarg{\seamus@section@}}
\def\seamus@section@[#1]#2{%
  \scr@section[\MakeUppercase{#1}]{\MakeUppercase{#2}}}
\makeatother

The method advertised by source2e.pdf of terminating the sixth parameter passed to \@startsection with \MakeUppercase doesn't work with scrartcl.