If I reset the Arduino without the serial monitor open, then I do not see any any blinking of the TX light.
As I recall, the Rx and Tx lights are on the USB interface chip, not the Atmega2560 chip. Thus, with no USB connection they may well not flash.
In some cases, the rest of my code will run; in others, it will not.
What code? How do you know? What you have posted there is
no more code.
The Tx and Rx pins on the processor itself should work reliably. You could hook up an LED (and resistor) yourself to check that.
If things are not reliable there may be other issues such as coding problems, or electrical problems.