Necesito una foto mas clara del módulo SD donde se vea si tiene o no interface de niveles de tensión.
Las SD son de 3.3V asi que comandarlas con 5V no siempre esta bien. Muchas veces obviamos eso y trabajamos igual porque 3.3V a nivel de Arduino sigue reconociéndose como un nivel ALTO pero eso como entrada. El problema es cuando ARDUINO a traves del SPI le envia algo a la SD que no tolera 5V. Al principio funcionará y luego trabajará erráticamente. Eso es lo primero que se me ocurre mencionar.
Ahora, puede que el modulo tenga divisores resistivos o algun otro sistema implementado. Muchas lo tienen.
Si es el caso olvidar este comentario y pasamos a otra cosa.
Tal vez ya lo han mencionado pero el hilo tiene 115 post y no lo he leído completo.
@Lucario y @noter han intentado dar con la falla y veo que es uno de esos problemas resistentes.
Qué cosa no han/hemos visto hasta ahora?
Lo primero que si es un falso contacto como @Calebit menciona
porque a veces también se queda colgado el botón mostrar y después de moverle los cablesitos o la tierra ya agarra...
Si ese es el caso entonces @Calebit da una giro a tu trabajo y haz las conexiones de modo mas seguro. Elimina la posibilidad de que eso falle sistemáticamente.
Comienza armando todo de modo mas firme. Mi solución siempre (jamás uso PROTOBOARD es mas las tiré o regalé todas) es usar una placa PCB perforada y soldar cada conexión. Donde tengo módulos uso HEADERs de una o doble hilera.
Los pulsadores soldados todo seguro y eso hace que la mirada entonces recaiga en el culpable o que éste haya sido descubierto.
Las placas que menciono vienen de tamaños diferentes con pads o islas de cobre redondas o cuadradas.