I've been experiencing performance issues with my Arduino Mega when I upload code using a USBtinyISP. I find that everything runs fine on the Mega when uploading the exact same code directly via the USB/serial port. Should there be such a drastic difference? I am selecting the correct 'Board' and 'Programmer' before I 'Upload Using Programmer'.
I have been using the Mega to prototype a system which has been designed with a six-pin header for uploading code - so it is imperative that it works in this way!
The code should do the same thing, but if you use the programmer with the ICSP header, the sketch is running without bootloader.
The bootloader initializes the serial port, and adds some delay.
Perhaps you use a sensor or display too fast after reset. You could try to add a delay.
If you make a led blink once per second, it is once per second in both ways ?
If not, you could try to download the Arduino software and put it into a new folder and run it from that folder.