Hola,
Un momento. Yo no dije que tuvieras que tocar el código para nada, sino que, la condición:
Código Delphi
[-]
if fMonth then
begin
end;
Implicaba que para entrar en ella "fMonth" debería valer algo "distinto de cero".
Eso es lo único que he dicho o que quería decir. Prueba con el código "original" a ver.