@luben11, thanks a lot. The MCU I am using currently for the datalogger (prototype) doesn't have ADC (for cost reasons). I could swap for a MCU w/ADC but that bumps us my cost by about $3-$4 (in small quantities)... something which hurts it's economic potential. However, I'll definitely give this some serious consideration.
As for detecting battery type, I am absolutely okay to throw in a dip-switch for that, as the battery types are 2 different products, but only from battery standpoint, rest all is same from electronics standpoint.
Not familiar with ADC oversampling, so will need to check that out. However, I am wondering if 10-bits would really be insufficient ? I'll probably have to think this thru a bit more, but I was thinking of something like:-
Standard Alkaline 3-cell battery --
Healthy: 4.5V
Needs-replacement: 3.6V or less
that's a significant 20% drop, and a 10-bit ADC should be able to help me determine this.
Another approach that might be possible, could be using the Comparator (the low end MCU has Comparator, no ADC). At least for Alkaline batteries, I guess the terminal voltage drop is a sufficient indicator, but is it so for Lithium batteries ? I see some really complex ways in which some Battery-Management SoC's do "Battery Guage" maintenence... although I guess much of it is for highend consumer-grade devices.