Das Verhalten ist korrekt. Ohne die Zeile
\DeclareOption*{\expandafter\PassOptionsToClass\expandafter{\CurrentOption}{scrartcl}}
bekommt `scrartcl` die Optionen zwar zu sehen, allerdings bevor in Deiner Klasse die Optionen verarbeitet werden und alle Optionen.
Mit der Zeile jedoch, verwendet aus LaTeX-Sicht Deine Klasse diese Optionen bereits. Also werden sie aus der Liste der unbenutzten Optionen gestrichen. Gleichzeitig bekommt aber `scrartcl` die Optionen tatsächlich nie zu Gesicht, weil es zu dem Zeitpunkt bereits geladen ist. Die Klasse kann also auch nicht mehr an LaTeX melden, dass es Option `bar` gar nicht kennt.
Was ist also die Lösung? Die Lösung besteht darin, die grundlegende Klasse erst zu laden, nachdem man die eigenen Optionen abgearbeitet hat. Damit die grundlegende Klasse dann nur die Optionen bekommt, die von der eigenen Klasse nicht bereits verarbeitet wurden, darf man sie natürlich nicht mit `\LoadClassWithOptions` laden, sondern nur mit `\LoadClass`:
\RequirePackage{filecontents}
\begin{filecontents}{mwe.cls}
\ProvidesClass{mwe}[2015/12/15 non sense class]%
\RequirePackage{mwe}
\RequirePackage{scrbase}
\DefineFamily{mwe}% Key Family with scrbase
\DefineFamilyMember{mwe}% add \@currname.\currfile to family
\FamilyBoolKey{mwe}{foo}{mwe@foo}% create bool option foo
\DeclareOption*{\expandafter\PassOptionsToClass\expandafter{\CurrentOption}{scrartcl}}
\FamilyProcessOptions{mwe}\relax
\LoadClass{scrartcl}%
\end{filecontents}
\documentclass[twoside,foo,bar]{mwe}
\begin{document}
\blinddocument
\end{document}
Das ergibt korrekt die Meldung:
><pre>`LaTeX Warning: Unused global option(s):
[bar].`</pre>
Dass ein nachgeschobenes `\FamilyProcessOptions` für die KOMA-Script-Klassen nicht wie erhofft funktioniert liegt schlicht daran, dass in dem Fall eben nicht die Optionen verarbeitet werden, die beim Laden der KOMA-Script-Klasse aktuell waren, sondern die Optionen, die während dem Laden Deiner Klasse aktuell sind. Es werden also wieder alle Optionen ganz neu verarbeitet, also auch die für `scrartcl` unbekannten Optionen. Ich glaube auch nicht, dass es vorgesehen ist, dass man einfach mal eben die Optionen eines fremden Besitzers noch einmal ausführt.