Vehicle remote ignition - Some questions.

On thing I don't see, is a way wait to only allow one start in a given period of time. If somehow, you were to accidentally spam the Arduino with start commands, it is going to try over and over again to start.

Now, can the Arduino sense that "okay, 5v has been applied, I'll wait 200ms just to be safe,

Are you talking about monitoring voltage of the battery to see if the engine has started? If so, I would use a voltage divider and make the output of the divider around 4 volts when the battery is 14volts. It will give you some room for higher battery voltages. You might need to go further with a protection circuit to avoid over voltage to the Arduino.