Ich glaube, die eigentliche Frage ist: Was willste haben?
Wenn Du das mal kohärent darstellen kannst, kann ich Code anbieten.
Mir ist es im Prinzip egal. Ich kann das auch auf "as was" belassen (bzw. dahin zurückdrehen) und mit Perlcritic-Gemaule an der Stelle leben

.
Die anderen Varianten waren eher zur allgemeinen Diskussion gedacht, was der "richtige Weg" ist. Wenn ich das nach meinem Bauchgefühl entscheiden müßte, würde ich mir in fhem.pl eine zentrale Erweiterung von CommandReload() wünschen, die die ganze Exportiererei überflüssig macht (ab
https://svn.fhem.de/trac/browser/trunk/fhem/fhem.pl#L2587; das scheint intern von mehreren Stellen her aufgerufen zu werden, v.a. beim auch beim Start). Streng nach dem Motto: Wenn es in dem Package eine "Initialize" (oder von mit aus: "FHEM_Initialize")-Funktion gibt, dann führe die aus, wenn das Modul genutzt wird (via define)...
Alternativ müßte man GPUtils dahingehend "aufschlauen", dass "FHEM::" als Präfix generell verworfen wird (relevant für AutoShuttersControl und evtl. andere) und alle anderen Bestandteile mit einem "_" verbunden werden statt des "::"? Das macht aber nur Sinn, wenn die "Teil-Modul-Benennungsstruktur" ok ist, die MySensors da an der Stelle grade praktizieren.
Auch das kann ich nicht wirklich beantworten. Ich würde dazu neigen, da bei 00_MYSENSORS und 10_MYSENSORS_DEVICE evtl. noch ein FHEM:: davorzusetzen; diese Module arbeiten nur mit FHEM zusammen, die anderen beiden Bauteile (Message.pm/Constants.pm) könnten auch woanders (außerhalb FHEM in der allgemeinen Perl-Welt) genutzt werden... (k.A., ob sie das tun; vermute: nein).