I think a user friendly wallet is very important. Currently I have to check, double check and triple check if I want to do a transfer - especially to the exchanges with payment ID. A graphical wallet can reduce errors substantially, where you can assign a new recipient address as well as payment IDs a name and then you can just select the names to do a payment. eg. in the amount block type the amount of coins and in the recipient address you select the name eg Bittrex and then you select the name Bittrex payment ID.
Proving a payment or identity with CN coins sort of against the principles of anonymous coins. If it is possible, the recipient could have a "confirm" option which sends the originator some kind of proof that he got the money, but I don't think it is possible.