If you are looking at the blockchain data to determine who sent you money then you are doing it wrong.
Bitcoin works where you create a new address for each transaction. So you know who sent you money because you know who you created that address for.
That's actually bad because if the payment came from a hosted (shared) EWallet the address the payment is from is not the sender's address. You never want to send funds back to that address as they likely will not get credited to the recipient.
Systems, such as SatoshiDICE are a special use case -- and they specifically warn the player to only use a local client (Bitcoin.org client) or other hybrid EWallets that are on the approved list (e.g., Blockchain.info/wallet ) as they don't suffer the same problem as hosted (shared) EWallets.
Gettransaction is an API call that gives this info, for a transaction received to an address in your wallet.
The upcoming release of Version 0.7 of the bitcoin.org client has getrawtransaction and that will give you that information for any address, regardless of whether or not it was one in your wallet.