Detecting the voltage input to the arduino.

In absolute sense, johnwasser's approach is better, as the internal reference is dedicated and has less fluctuation than the rail. What I think you don't need to do is to convert the reading back to mv -> you should compare the raw adc reading with a number corresponding to your Vref + divider ratio -> all to be programmed so you don't have to do the math. That saves a little bit time.

But I doubt you need that much accuracy. If I were to implement such a system, I would put the adc on autosampling (by the adc itself or via a timer). Once I read a series of consecutive low voltage ratings, the code sets up a flag. You can process that flag in the loop() or via a software-triggered interrupt.