The problem is, that in a P2P system you don't have only scammers that will not fulfill the trade. You also have careless people, who will mess something up, forget about the transaction, delete their clients/wallets, etc. With this schema, you are forcing the one party to take responsibility of stupidity of other.
All information are public (only for themselves) and both users can restore the operation if something goes wrong.
Both users are interested on cooperate and can restore the operation from a web app or your application.
Also, is higly unprobably that something as this happens, is an automated process with a restore system. The system can restore the operation (knows all information to do it).
Well, that's true, but here we are talking about money and I have never met someone that wants to lose money... also, as Alberto said, we are working on some workarounds to prevent scenarios like that happen :)