#define VS1053_DCS 11 // VS1053 DCS pin.
#define VS1053_DREQ 12 // VS1053 DREQ pin.
#define VS1053_RESET 13 // VS1053 RESET pin.
So, the shield uses the SPI pins but NOT SPI.
DEBUG: Using Hardware SPI
How the hell can it do that when you have defined the SPI pins to be used for other purposes?
With the same code, but the call to playMP3() commented out, does the program get the correct time from the RTC?
With the same code, expect the MP3 DCS, DREQ, and RESET connected to other pins, does the RTC provide the correct time?