Can someone explain why 0.9 bitcoind are not safe to use ? Won't they also catch up to the longest chain later ?
They allow invalid blocks.
So, if you have 2 chains one with invalid blocks and one without. Bitcoin Core 0.9 would chose the longest block as the right one. Bitcoin Core 0.10.2 would just ignore the chain with the invalid blocks.
Bitcoin always choses blockchain with the most work done (sum of all hashes that were used to create blocks, since genesis block) which is not neccessarily the longest blockchain.