I'm not sure if bitcoind accepts blocks of the same block height twice (so 2 blocks with the same parent) if there is not a block following up.
I've looked at the source and it seems the client will accept two blocks at the same height but it will only relay the best block to other peers. So basically orphaned blocks won't propagate far along the network, which means in order to track them i need to connect to more node. I've added all the big mining pools to my addnode list and also increased my connection limit to 400.
It seems to have worked because I got an orphaned block at
http://pi.uk.com/bitcoin/143370 which was received after the one which became the main chain. Now just need to work on alerts for transactions which might be double spends.