If its getting hot after uploading an empty sketch (just empty setup() and loop() functions), its bad for certain. The empty sketch will leave all pins as their defaults which is inputs, and if its still getting hot, the only way that can happen is if the '328P's internal pin driver circuit on one or more pins has failed.
Even if it isn't getting hot running an empty sketch, you still need to test each pin you are using to determine if any are internally shorted to Gnd or Vcc. You could use the ArduinoMonitor utility I linked to + its sketch to check them in situ with minimal disconnecting of stuff, just don't try to make an input in in your circuit an output using ArduinoMonitor, unless you have first disconnected it.
The SD interface you linked is using 10K resistors to limit the current into the SD card pins due to the Arduino's 5V logic '1' exceeding the SD cards's permissible input voltage, so there isn't much to go wrong. Its *fugly* but OK with most SD cards for hobby projects. If its regulator is producing 3.3V you can risk putting a card in it and seeing if it still produces 3.3V. However the odds are the regulator is blown.