Did you modify the shield? Since the SPI pins on the mega are in a different location, you need to either rewire the shield. From circuits@home:
If you are planning to use this shield with one of the “Big” Arduinos, like Mega or 2560, SPI signals would have to be rerouted, i.e., pins 13,12,11 of the shield should be connected to pins 50,52,51 of the Mega.
If you already did this, note that the code assumes that you rewire SS (slave select) to pin 53, but the above statement tells you to only rewire miso, mosi and clock. Therefore, if you followed this you are left with SS still connected to pin 10. The code should therefore be:
#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51
#define SS_PIN 10
note that last line.
Alternatively you can write some code to do software SPI by manually bit-banging pins 11-13, which should work too and isn't complicated. I used this to get an SPI-driven LCD shield working on the mega:http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1253831901
Let me know if this works for you.