Mike,
It appears you have uncovered a bug. I tested in Excel 2007 and it is there as well. It only happens when you have a custom format with some string constant in it. I was able to get a single format to exhibit both behaviors:
0.0 "D";0.0
A 1 results in Value = False, and a -1 results in Value = True.
I have filed a bug with Microsoft.
Kevin