Confirmed for LibreOffice 3.4 340m1(Build:103) on OpenSuse Linux.
Tried it with =YEARFRAC(DATE(1958,3,1),DATE(1994,12,31),1) and =YEARFRAC(DATE(1958,3,1),DATE(1995,1,1),1), which give different results, so it is not because the difference of 1 day is so small the decimal is unchanged. Also tried with =YEARFRAC(DATE(1958,1,1),DATE(1997,12,31),1), and it gives a non-zero value, so Calc recognizes the difference of a day between 12/31 and 1/1.
Confirmed for LibreOffice 3.4 340m1(Build:103) on OpenSuse Linux.
Tried it with =YEARFRAC( DATE(1958, 3,1),DATE( 1994,12, 31),1) and =YEARFRAC( DATE(1958, 3,1),DATE( 1995,1, 1),1), which give different results, so it is not because the difference of 1 day is so small the decimal is unchanged. Also tried with =YEARFRAC( DATE(1958, 1,1),DATE( 1997,12, 31),1), and it gives a non-zero value, so Calc recognizes the difference of a day between 12/31 and 1/1.
Do not know why bug appears for those two values.