I just asked someone to sign a message with the address they sent a transaction from to prove he sent it. He was unable to, since the address he sent from wasn't in his 'receive' tab.
It turned out the transaction was funded by one of his 'change' addresses which don't show up on the 'receive' tab.
In the end I had to talk him through using the debug console to run 'walletpassphrase' and 'signmessage' but it's kind of ugly, and results in his wallet passphrase appearing on the screen.
It would be better if there was some way of signing a message with a change address from within the 'sign message' gui. Maybe a checkbox in 'receive' (defaulting to off) to show all addresses in the wallet including change addresses.