The way I want it to work is to slowly discharge the lipo down to storage voltage and then stop. I think the best way to do this is to use a TL431 to control the voltage shutoff and use a power resistor and status LED as a load. I don't really understand completely how to calculate the proper resistor values. I have done a few calculations and gotten what I think are the right values, but I wanted a sanity check. Below is a image of the schematic I have drawn.
The protection circuit protects the LiPo from many dangerous conditions. Overvoltage can be ignored here, as you are not going to charge the cells from your circuit. Undervoltage (i.e., overdischarging the battery) can be fatal to the cell, although not immediately dangerous (the big issues might arrive later, when charging). The other protections that are common are overcurrent/short-circuit, which is a very important one, as a shorted LiPo can potentially explode, and overtemperature, which is mostly useful while charging, or while discharging at very high rates.
For your particular application, if you take care all the time of the battery voltage (making sure it does not overdischarge), and only use a proper charger to charge it, I don't see a major problem in running your circuit for test purposes without the protection. However, make sure you add a fuse between the battery and the power input of your circuit, to prevent dangerous conditions in case of overcurrent or short-circuit. This is very important. LiPo batteries can be very dangerous. If you have a LiPo protection bag, use it, as long as you're testing without the protection: better be a bit too careful than not enough.
Concerning a hand-solderable protection IC: I recently used a DS2777 (for a 2-cell system), it works pretty well, and even if it is a SMD part, it can still be soldered by hand, although it's not simple. But is possibly a bit "overkill" for your application, as it requires two external MOSFETs, and is not only a protection circuit but also a battery monitor system that can estimate remaining charge, read battery parameters (voltage, current, accumulated power, etc.) over I2C, etc.
I suspect that you are connecting Aref to the regulator output.
While you have sufficient voltage, and the regulator provides the correct (i.e. expected) voltage, you get correct readings.
When the battery falls below a limit, the output at the regulator falls, and will always be the input V minus its drop. The ADC will always read the same voltage (since regulator output = Aref = Battery - Reg. Drop), which happens to be a higher ADC value than before this condition.
You need a better reference voltage at Aref. You can, for example, use a Zener with a drop less than 2.8V, and a voltage divider to feed the ADC.
Update: (Regarding your comment) You should add a better reference voltage to Aref. Since you observe the problem it is a good practice to fix it. Your arduino the way it works now cannot tell whether the battery is dead or fully charged, which is not a good idea.
Another point is that you risk damaging your arduino, as you are bringing Aref above Vcc. There is limit for this (I can't remember, check datasheet).
Finally is is also a bad practice to rely on something you observed (and it is not a guaranteed specification), since it may soon behave differently. Save yourself from headaches, and design following good practices.