As we know from some point clients start to refuse transactions without fee. A friend of mine sent me 0.1 BTC as a donation using old client (0.3.20 or so) which doesn't include fee. So that transaction was never confirmed
Even without a fee that transaction would likely have made it into a block right away, and even if not right away (i.e., deemed as a very low priority transaction) that might been just a matter of hours delay before ending up in a block.
P.S. there is a little possibility that he had fooled me and sent nothing but let's think of it as it really happened.
Firstly, check the address in BlockExplorer:
If it was only recently sent and you don't yet see it in BlockExplorer, check for it in:
If you don't see it in either, perhaps when sent the client did not remain connected long enough to announce the transaction to the network. Simply starting the client back up and leaving it running will cause the transaction to eventually get re-announced, and then it can become included in a block.