Corda can be used for a lot more than just IOUs! The samples directory alone contains examples for interest rate swap management.
But yes, you can use Corda for pure messaging too. Just write a flow and don’t bother writing states or contracts. Your flow would have to take the data structure received from the counterparty and insert it into your own database tables, but that’s no big deal. If the object in question doesn’t have a lifecycle of its own, then the infrastructure of transactions, notaries, the vault etc is just overhead and Corda lets you skip it.
We’ll probably be fleshing out support for these sorts of apps more in future with examples and so on, but for now, the messaging, data serialisation and identity layers at least can be useful.