This was posted in the stk500 subforum, but I think it belongs here. Problem has been solved.
To upload a sketch, I have to remove the display module from its shield, upload the sketch to the Mega, and re-insert the display module, and run the sketch.
Display: EastRising (BuyDisplay) 3.5" 480x320 TFT model TFTM035-6 (w/ RTP), ILI9488 controller, 16-bit interface
Only when the display is in place, the uploader complains: stk500 receivemessage() - timeout
I have read on this forum that this is a power issue, and the display sucks up too much power. The Mega and shield require 70 and 10mA respectively. The 3.3V display 100mA. I believe USB can deliver up to 500mA. In any case I supplied external power to the Mega, which made no difference. Then I wired to the shield's 5V and pumped 130mA into that. Again, no difference. The shield has a 3.3V voltage regulator for the display. It uses Arduino 3.3V for itself. In all cases the Mega and display were running normally.
Solution:
Finally got a message back from BuyDisplay. They told me to solder short the 10 jumper (probably related to D0 and D1), and solder open the Main jumper (which is 1mm x 2mm!). Now I can upload sketches. Nice way to sell your products where the shield must be resoldered, and without documentation.