Stop cell from recalculating itself

Hello, I’m using Libreoffice 3.5.7.2, English, Calc on Ubuntu 12.04, also English language
I want to daily record the value of certain cell, so I created a particular sheet with a list of consecutive dates (column A) and the following formula in column B (copied from row 1 onwards)

=IF($A1=TODAY();$AnotherSheet.$H$21;B1)

This works perfectly recording distinct values of $AnotherSheet.$H$21 every day as long as I have set tools/options/Libreoffice Calc/Calculate/iterations to true. But for some reason it clears all the values from time to time, perhaps months before it happens, clearing all the values it’s been storing for months.
I don’t know if this is a bug or I’m doing something wrong, can anyone help, please, with this issue or suggesting a better way of storing daily values of cells?
I’m experiencing this problem every few months since the times of OpenOffice, I’ve been using this sheet and calculations (and then missing the data stored) for years, only now I decided to ask for help.

Thanks a lot.

TODAY() is a volatile function and gets recalculated with every change of the document, so does any expression depending on that result. I don’t know why with iterations enabled things seemed to work for you most times, but it sounds odd if they did and you’re using a side effect that doesn’t always do what you expect and without knowing the document all one could say would be speculation.

Thanks for your answer, but TODAY() works fine changing the corresponding cell B as long as TODAY() equals the value on the column A (which is a date). When the system date changes, that cell B is not changing anymore. This is a link to the document as you requested:
link text