The BIOS is visited on the way because the data on it has become corrupt, The BIOS obviously happens a long time before you get to windows, this is not a windows problem.
corrupt bios that is to say some of the information in the BIOS has been lost because there is no power going to the chip in order to refresh the information.
Some information may be lost, some might not, also you might find that the default settings are to auto detect drives which is why the BIOS still appears to know about them.
Your friend is correct you will need to replace the battery, - it's not essential though and wont hamper the performance of your PC if you don't, it's just annoying to have to put in new date/time information every time you switch on your computer
Are you sure that when you replaced the battery that you replaced it with the correct type? did you flash the bios (reset it) by moving the jumper before you replaced the battery? you could try it again now and have to set all the information again, but that shouldn't be too bigger problem.