Mega2560 reset question

My project is a temperature logger. It uses a Mega2560, an LCD shield, DS18B20s, a DS3231 RTC, and an SD card module.

Everything but the logging has been working for months. Adding the SD module is a challenge. When using a breadboard with a different Mega2560 I have no problems. The example sketch works and uploading works.

No so with the existing hardware. In both setups the SD module is connected via the ICSP with 10 used for select.
A possible significant difference between the two is the test board appears as /dev/ttyACM1 while the other is /dev/ttyUSB0.

When the SD module is connected to the existing board, avrdude times out. I will try putting an NC switch on the various lines to see if opening one solves the problem.

Now to the matter in the Subject: When a sketch is uploaded it will start immediately. If I then cycle the power, all I get is a blank screen. No messages on the monitor. Nothing. Pressing the reset button does not help.

What's happening here?

I would venture a guess that the reason the sketch doesn't work after a reset is that the screen is being left in a state where it's not expecting the commands it's getting. If you tell us what kind of LCD shield it is, that would help us to advise you further.

The fact that they appear as a different port is not the issue - the computer is just assigning a different number to it because it knows that it has a different serial number (or different usb chip, if one of the boards is a clone and the other isn't - note that if both are clones with CH340G at least, I don't think the computer can tell two individual boards apart and just numbers them based on what port it's plugged into).

So, it is definitely very strange that it works on one and not the other. Especially since the SPI pins are not involved in uploads!

The fact that you say it is connected to the ICSP header gives me pause though, as pin 10 does not go to the ICSP header, ICSP header is miso/mosi/sck/reset/vcc/gnd. If something was done to reset, that could interfere. Though again, I don't see why it would work with one but not the other...