How can there be multiple outputs with same address in the same transaction? I received a transaction such as below: (I changed the actual numbers but the format is exactly the same)

{
"amount" : 0.3,
"confirmations" : 739,
"blockhash" : "0000000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"blockindex" : 390,
"blocktime" : 1392284453,
"txid" : "aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxx",
"time" : 1388888888,
"timereceived" : 1388888888,
"details" : [
{
"account" : "abc",
"address" : "address1",
"category" : "receive",
"amount" : 0.1
},
{
"account" : "abc",
"address" : "address1",
"category" : "receive",
"amount" : 0.2
}
]
}


When I check this transaction on blockchain.info. The site shows a single output to "address1" and the amount is 0.3.

When I try to replicate this situation with QT using Add Recipient, it does not allow me to enter the same address twice. I assume the sender was able to do this using sendrawtransaction.

Is it normal? Is it a non-standard transaction? Shouldn't this transaction be rejected by miners?
It definitely seems weird to have two outputs towards the same address, but if it was picked up by your bitcoind node, then miners will probably accept it, because they're also using bitcoind.

It would be interesting to read the raw scripts of the outputs. Most likely, as you say, it was created by someone using the raw commands.

One scenario that I could think for someone doing this is that you'd want the receiver to claim the outputs in separate transactions. If there was a single 0.3 output, the receiver would need to claim all 0.3 to use them. 

However, I'm not sure when this would be useful.