Almost none of our line followers in the WCRS
Basically, you have a processor running at 16MHz, and as such you can check all of your sensors quickly enough inside loops that it is not mission critical to grab an interrupt.
We also typically use the QRD1114
sensor to detect the line, and we read it on the analog inputs so that the white/black levels can be calibrated in software.
You almost never truly need the delay function.. have a look at the blink without delay example.
Start this project by building everything except motor control. We'll usually throw a couple of LED's on the motor driver at first to make sure we get bugs out of the system.
You'll be able to guide it by hand and examine behavior from your sensors, and watch output on the LEDs.
Get that to behave properly, and then add the motors into the mix. From that point on, you're tweaking not debugging