Neustart schlägt fehl, abhängig von SD-Karte

Es ist auf jeden Fall schon einmal gut, dass du dir darüber Gedanken machst, wie das sinnvoll integriert werden kann.
Es ist auch nicht immer leicht, den Überblick über alle Interaktionen an verschiedenen Stellen im Code zu behalten. Ebenso hat die Reihenfolge der Funktionen in main schon oft Probleme gemacht.

Meine persönlich favorisierte Lösung wäre immer noch, den POWER pin weiterhin nur als Peripherie-Pin zu betrachten: eine Doppelverwendung verwirrt nur. Den tatsächlichen board-strom kann ja ein anderer Pin mit fast gleicher Verwendung steuern.

Aber solange daran gedacht wird, dass viele verschiedene Schaltungen und Konfigurationen im Einsatz sind, und nicht einfach wild Änderungen vorgenommen werden, die nur zur eigenen Hardware passen, sollte auch eine andere (wie von dir vorgeschlagene Lösung) passen.
Wenn jetzt nämlich einfach das Standardverhalten angepasst wird, kommt in ein paar Wochen der nächste und schreit dass das letzte Update einen Fehler eingeführt hat.