Bicoins are "received" to all connected nodes, not just to your node. So no, your client does not need to be connected to receive.
To send a transaction, the transaction needs to be broadcast to peers that are connected. Generally, this will happen in seconds but if your network happened to hiccup or it had only connected to non-compliant peers that didn't relay your transaction (perhaps by rogue nodes, for instance) or for whatever reason, then your client will re-broadcast the transaction after a period of time has passed. If the client isn't still running, then the re-broadcast won't happen.
There are services that can show if a transaction was successfully broadcast. One is BlockChain.info:
Once a transaction is successfully broadcast, then the work of the client is done. It can be closed, without needing to wait for any confirmations to occur.
I have the same question, since it doesn't need the client be open, why it takes so long to confirm? I have started a transaction at 1:00 nignight, when I get up at 6:00, it still didn't finish! they say a transaction need 6 confirm witch cost about 1,5 hours. – user5783 – 2013-07-02T02:51:10.127