Man neglected trucks are so hard to fix, usually a ton of simple problems working together to create one huge problem.
Check the fuel pressure, on the passenger side of the engine is a schrader valve, using a fuel pressure tester (rent one) check the fuel PSI, you need in the mid 30's, any less and it may idle or run at low speed.
As for the hard start when hot it could be as simple as the fuel temp sensor, or the fuel pump and now the fuel pump is so bad its acting up more often.
Knowing why the check engine light is on would help too.
2nd owner of a '97 Disco with a ARB winch bumper, SD roof rack, Rover Racks ladder, Cooper S/T's and 220,000 miles on the clock and still a daily driver.