Dass Du kein Paket kennst, ist dieselbe Begründung, mit der seinerzeit in diversen Paketen Tests auf article.cls eingebaut wurden, um zu unterscheiden, ob \chapter oder \section als oberste Gliederungsebene existiert. Das Ergebnis ist, dass all diese Pakete teilweise noch heute sehr schlecht mit KOMA-Script zusammenarbeiten.
Allerdings ist heute die Wahrscheinlichkeit, dass ein Paket addmargin definiert und dabei keine Rücksicht darauf nimmt, dass es eventuell bereits definiert sein könnte, eher gering. Also sollte es kein Problem sein, wenn Du auf \KOMAClassName testest und anderenfalls scrextend lädst, obwohl mein allgemeiner Rat normalerweise lautet: Teste auf die Makros, die Du brauchst und nicht auf die Pakete, in denen Du die Makros vermutest.
Raten werde ich Dir jedoch nicht. Entscheiden musst Du auf Basis dessen, was Du nun weißt, selbst.
Was ich Dir aber rate ist, auf \KOMAClassName nicht mit \@ifundefined zu testen. Danach wäre \KOMAClassName nämlich nicht mehr wirklich undefiniert, sondern \relax. Also besser
\RequirePackage{scrbase}% das brauchst Du in jedem Fall und stört deshalb auch nicht
\scr@ifundefinedorrelax{KOMAClassName}{%
\RequirePackage{scrextend}%
}{%
% alles klar, dank KOMA-Script-Klasse wird scrextend nicht benötigt
}
Falls Du irgendwann Makros benötigst, die erst in neueren KOMA-Script-Versionen enthalten sind, würde ich mich aber nicht auf \KOMAClassName alleine verlassen. Dann solltest Du etwas wie
\RequirePackage{scrbase}% das brauchst Du in jedem Fall und stört deshalb auch nicht
\scr@ifundefinedorrelax{KOMAClassName}{%
\RequirePackage{scrextend}[2010/01/01]%
}{%
\@ifclasslater{\KOMAClassName}{2010/01/01]{%
% alles klar, KOMA-Script ist neu genug
}{%
\@latex@warning@no@line{%
You have requested version\MessageBreak
`2010/01/01' of class \KOMAClassName,\MessageBreak
but only version \csname ver@\KOMAClassName.\@clsextentsion\endcsname\MessageBreak
is available%
}%
}%
}
machen, um die Version abzusichern. Natürlich kannst Du auch mit \ClassError oder \PackageError einen Fehler ausgeben oder \ClassWarning oder \PackageWarning für die Warnung verwenden.
Für addmargin ist ein Versionstest IMHO nicht notwendig, da es das schon lange genug gibt.