mega 2560 and SPI

On newer UNOs the I2C pins (SDA and SCK) are to the left of the AREF pin which also is the case for the newer Mega2560 and the Leonardo. Most shields are not made for the UNO but for the older Duemillanove which didn't have these pins so compatibility may suffer there.

If you have to use such shields a solution often seen is to cut pins A4 and A5 of the shield and connecting them with jumper wire to the pins 20 and 21 on the Mega.

You see similar problems with the new Due boards operating at 3V3 instead of 5V. Although the IOREF pin is on all newer Arduino boards almost no third party shields use it. All of them will not work without tweaks on the Due.