What "heater code" are you getting?
If it is an O2 sensor heater failure code and your cats are damaged or missing, perhaps these may be part of the issue.
The engine would prefer to have functioning O2 sensors and cats to run properly.
If the O2 sensors and cats are gone, did you do any engine tuning to address that?
Perhaps a smoke test is in order to see if there are any intake leaks.
As mentioned, check fuel pump pressures at key on/engine off, engine on and key off.
My 2003 had an issue where it would take a couple of turns of the key to get it to start and run.
Ended up being the check valve in the fuel pump that was supposed to hold the fuel pressure up after the key was turned off.
The fuel pressure would drop to zero as the key was turned off.
If would take a couple of seconds for the fuel pump to build up to full pressure when the key was turned on.
Once started, the fuel pump would hold good pressure and the engine would run.
Replacing the fuel pump fixed that problem.
My 2003 also is one of those that has a frame mounted fuel filter.
Does yours and have you changed that?
If you do not find a fuel filter on the frame under the driver's door, then your fuel filter is in the fuel tank and is part of the fuel pump.