mrandersen:
Well maybe the interrupts are coming faster then you think. Try using micros():
timeStarted = micros();
timeEnded = micros();
Lefty
After a further look I realized that one pin is triggering both the start time and end time.
Do you know why one input is triggering start time and end time?
Short of a wiring problem, that is not really possible. Can you explain how you have the sensors arranged in relationship to the magnet and how fast the magnet is moving between them?