Not sure if it's applicable, but... some days ago as I was browsing the Bitcoin Wiki, I found something really interesting. The Bitcoin protocol has far more capabilities than I imagined!
Read this:
https://en.bitcoin.it/wiki/ContractsBasically, Bitcoin transactions are not limited to the use of just transfer some BTC from an address to another. It is possible to make special transactions to use as contracts between parties. See fidelity bonds, for example. Maybe contracts could somehow be used in your p2p currency exchange system. I don't have any concrete ideas, though, but it is certainly a possibility worth to explore.
Currently, contracts, being non-standard transactions, are rejected by the main Bitcoin network (though they can be experimented with on testnet), but I don't think it's a major obstacle: if we think up an exact scheme for a new type of transaction, if it's needed, we could have it standardized by the Bitcoin client developers, if we prove it is secure and useful. But this is really the last thing.