Leonardo und SD Karte funktioniert nicht

lerion:
3.3V an den Power Pin neben reset

Der 3.3V Pin ist bei den meisten Arduino-Boards nur für max. 50 mA ausgelegt, schaue bitte mal in die Boardbeschreibung Deines Boards, ob Du da tatsächlich minimum 100 mA aus 3.3V rausziehen darfst!

Ich schätze mal nicht. Und SD-Karten ziehen beim Zugriff bis zu 100 mA.

Wenn Dein Modul wahlweise eine Versorgung mit 5V oder 3.3V zuläßt, würde ich das Modul lieber mit 5V vom Arduino 5V Pin versorgen, aus dem sind 100 mA kein Problem.

Weiterhin prüfe mal die Formatierung Deiner SD-Karte, ob die wirklich FAT16 oder FAT32 formatiert ist und nicht mit einem anderen Dateisystem!

Das mit der Serial-Initialisierung ist vollkommen in Ordnung:
while (!Serial) ;
Damit wartet der Leonardo, bis die Serial tatsächlich bereit ist, bevor er im Programm weiter fortfährt. Für den Leonardo ist das erforderlich, für alle anderen Arduinos ist es egal ob es da steht.