I think I understand. I had lots of trouble with this myself, until I did a little digging inside the data.
You can dig yourself, using the output from the CELL() function. For example. CELL A1 is "empty." In Cell B1, you enter: =A1. Now, using the CELL function, let's see what we have:
CELL("contents";A1) tells us the contents of A1 is 0.
CELL("contents";B1) tells us the contents of B1 is 0.
CELL("type";A1) tells us the type of data in A1 is blank.
CELL("type";B1) tells us the type of data in B1 is a value.
That's the "problem." When you use "=A1", you were writing a formula, and that formula said to get the "contents" of A1 and put it in B1. The contents of A1 was not a blank, it was a 0, with TYPE blank. the = function doesn't get type.
The easiest way to fix this is to use something like the following in B1.
If you do that, you'll see:
CELL("contents";B1) says the contents is blank
CELL("type";B1) says the type is a label.
Okay, it isn't perfect - rather than returning a TYPE blank, you get a value of blank, and a type=label. However, for my use, it was better than the alternative.
Remember, ISBLANK only works on TRULY blank cells (not in cells that contain formulas). For example, check to see if ISBLANK(B1) returns true when A1 is blank. No, it doesn't. I don't think there's a way to generate a blank in a formula. If there was, rather than returning "" above, you could return blank and be really happy.
OOo 3.3.X on Ms Windows XP