Here is what I suspect happened (and if it is true, it seems like a bug): The client probably listens to transactions even before they enter any block, and shows them as "unconfirmed" with 0 confirmations. But when you close the client and reopen it, you don't see them any more, until they actually enter a block and your client downloads that block. This is sort of all right, since there is one block about every 10 minutes or so -- except the client probably shouldn't display any unconfirmed transactions at all until it has downloaded all blocks. I read somewhere that the next client version will have a better status indicator, which might solve this problem as well.
Thanks for the explanation. I appreciate Bitcoin is in early days yet.
It will take a while for problems in the client to be ironed out.