Try wrapping it in tinfoil? That's a cheap way to potentially reduce external EMI issues. Also, there may be issues caused by the engine inducing currents in the wires you've got going to your sensors. Test this by taking off the long wires to the sensors, then setting up a LED that's going to be visible on your Arduino inside the box (outside if you have to, but keep the wires short as possible) and have it run a long-cycle blink. You should be able to have a visual guide to if it's resetting or not without the wires. If it is a problem with the wires, there are ways to try and reduce problems with the currents, but I'm not really an expert on these things (Econ major here...). One way you can try is to add a small resistor in series to the sensors, limiting the current coming into the Arduino caused by EMI spikes. Another way is to attach small capacitors (like 100pF?) between the sensor input lines and ground. It'll be trial and error to figure out what values are big enough to absorb the EMI spikes, but small enough to not mess with the data you're collecting.
Hope it helps!
- Open Source kits to let you play Guitar Hero with a real guitar, or build your own Wii/banned/USB controllers.