the 28 satoshi, although, shows up on blockchain web, my client still don't see it.
Yup. That's no surprise. Here's the transaction that you say you aren't seeing:
-
http://blockchain.info/tx/72a9ec4eab8349937c326310267261553b0db1cfd6dd1e7d9b8f5668e2e881c2In order for your node to know about a transaction the peers your node is connected to need to know about it. So your peers must first see the transaction then they must verify the inputs, and only then will they relay it.
Now here's the problem.
That transaction uses inputs from two other transactions ... two "parents". Neither parent transaction has confirmed. Here's one:
-
http://blockchain.info/tx/2b7c5c019a3dbbe8c62cee9900248d010b6abaadd10401b130d1732433c3f1a2And that transaction, ... 2b7c5c019a3dbbe8c62cee9900248d010b6abaadd10401b130d1732433c3f1a2, itself has a parent, and that parent hasn't confirmed either. Here's that:
-
http://blockchain.info/tx/550f81600de37788b1010ea8a1cbadab24c7d2c25147df6b5765c0e31d5a3551And same thing with even 550f81600de37788b1010ea8a1cbadab24c7d2c25147df6b5765c0e31d5a3551's parent:
-
http://blockchain.info/tx/06585f02e5992bd7fdf28f69b1d3f6f91a5a6969c79061ec67c29c17c7f5a1f5Shall we keep going? We must ... so that 06585f02e5992bd7fdf28f69b1d3f6f91a5a6969c79061ec67c29c17c7f5a1f5's parent:
-
http://blockchain.info/tx/cb52fd82a3916f3004f7d329250d462b74ed34e67371121ce0bb1b68d0cf188aWhich brings us to cb52fd82a3916f3004f7d329250d462b74ed34e67371121ce0bb1b68d0cf188a's parent ... still not confirmed:
-
http://blockchain.info/tx/f44a37fa096958d0b41f0109b152a626384832f9011b6e3baf77fbd096b462a9And finally f44a37fa096958d0b41f0109b152a626384832f9011b6e3baf77fbd096b462a9's parent does actually have confirmations:
-
http://blockchain.info/tx/921e5b5dda9d2b3a0f9844442af180590a3b8576985205be6117ab24b072d602So what is likely happening is the nodes are refusing to relay this transaction (plausible) or more likely the peer node's memory pool is only so big and not all these spam-like transactions are saved long enough and thus your transaction is invalid (the parent transactions can't be found when searching the memory pool).
The solution is to stop doing this crap. (i.e.,As a commercial provider, don't send out a payment unless the funds you are using for the payment themselves have many, many confirmations. Your customers deserve better than that.)
Bitcoin is not good for microtransactions. I know that revelation ruins the business plans of all these "free bitcoin" sites but them's the breaks. Nobody is going to tell them that no, they can't do this. But the Bitcoin-Qt/bitcoind client was designed to be resilient against attack and this looks more like an attack than legitimate value transfers.
What the mining pools (or freebie coin service, or whatever it is) can do is maintain a wallet for each user and then when some payout threshold is reached (e.g., a nickel's worth of bitcoins) then and only then is the payout sent through the blockchain.
Now the resolution for this is, ... if the node which first broadcast the "top" spend transaction (f44a37fa096958d0b41f0109b152a626384832f9011b6e3baf77fbd096b462a9) then continuously re-broadcasts that (which is the default, at least once an hour if it has not seen a confirmation), then eventually a miner will take that transaction and it confirms. It may take a day or so. Then the next transaction in the sequence (cb52fd82a3916f3004f7d329250d462b74ed34e67371121ce0bb1b68d0cf188a) would get re-broadcast and mined ... that's another day or so. Then repeat for each in the sequence. So it is possible your client won't see that transaction for nearly a whole week.