Step 2 is a problem, not impossible, but would require a substantial mining investment. If i took all of my $X000 investment in mining gear I would be able to do that about once a month and it would not be guaranteed each time I solved a block.
But, if you're mining anyway and can steal a couple hundred extra bitcoins half the time you solve a block; this is a pretty good scam.
If you're creating an orphaned block then you wouldn't get the 50btc... so your whole reward would be the stolen coins.
For this scam to work, your block must get orphaned.
It's a possibility still that your block would get picked up by the next miner/pool who solves a block, in which case, your attack didn't work, but you got the 50 btc.
Worst case scenario, MyBitcoin picks up the other block before you announce yours. In which case, you only lost time and electric.
I'd say a pretty good investment for a scammer with a few thousand btc they'd like to double.
I can't believe that this wasn't foreseen. Bitcoin transactions can be reversed, it happens. It's absolutely irresponsible to not reconcile the block chain against your accounting backend every so many blocks.
Also, simply delaying larger deposits for more confirms would mitigate this.