Arduino Mega 2560 & Arduino Ethernet Shield

Prova con
if (!SD.begin(4))
Leggo nei commenti dello sketch: " // On the Ethernet Shield, CS is pin 4."

Questo dovresti lasciarlo:
pinMode(53, OUTPUT)
perché il pin SS mappato in hardware deve essere sempre impostato come output.