I've used this wallet intensively for the byteball coindrop, I've experienced some frustration.
(numbers are fictional for privacy)
1)
I have 10 btc in address A of my (non-imported) wallets. I send 3 btc to my exchange.
This transaction sends 3 btc from A to the exchange, and sends 2 btc to a new address B of my wallet, and 5 remains inside A.
What's the reason coin is sent from a to b? All it does is increase fee costs for this and future transactions.
I'd assume it's because reusing addresses is bad for privacy. But this is not the case here as some coin is still is A.
Reusing addresses is considered not safe too if you are using a bad wallet. When you send Bitcoin from A to B and change is send to C, other than you, nobody will know C is your address. They can only speculate that it might be a "change" address. If you send Bitcoin frequently, using different addresses will make tracking your transactions more harder. If you only use one address, everybody can see all the transactions you have ever made which is pretty bad IMO.
https://en.bitcoin.it/wiki/Address_reuse#Security2)
Also, using the memonic passphrase I can sign messages with any specific addresses of any specific wallet. (using github tools in offline mode)
Some coin of a wallet was sitting in an address, comparable to address B above, for which I could not locate the private key.
I had to transfer those coin to a new receiving address of the same wallet, for which I did locate the private key.
Maybe these intermediate addresses have a different type than the receiving addresses? not sure
If you are using
https://github.com/iancoleman/bip39, change '0' to '1' in "External/Internal" in derivation path to see your change addresses.
m/44'/0'/0'/1 - you can also copy-paste this if derivation path is not as detailed as the above tool.
any eta for signing messages within the client (for non-imported addresses)?
Ask their support. They won't reply in this forum.
3)
Some transactions to previously used addresses were not showing up in the transaction page, although the balance was correct.
I'll investigate this later on, I might be wrong

EDIT: I just send another tx, now a transaction from 2 addresses, although one address has enough to cover the entire transaction??? That's like 0.5$ lost in excess tx size fees

I can't imagine this being good for microtransactions.
Transaction fee will pretty high if you use faucets or gambling sites or receive many (micro) transactions. Transaction fee will only increase for such users if change addresses are also used. If you don't want to use new addresses per transaction, get private key of that address from seed (12-word recovery phrase) and import it to your wallet.
Note: Don't use two wallets with same seed. E.g. Blockchain.info + Copay or Blockchain.info + Mycelium or Mycelium + Bither etc. If you send Bitcoin from wallet
1 and it send change to a new address, that address won't be shown in second wallet. Thus, Bitcoin sent to that address won't be shown as you balance. Don't do it unless you know your stuff!