So basically the good thing is that stealth payments are indistinguishable and smaller, but the bad thing is that because of that you need to scan all the outputs looking for those belonging to a wallet.
Right?
Pretty much.
Also another downside is that it would be nearly impossible (without a change in the current firmware) to send TO one of these addresses with this method from a Trezor etc. (As you need to multiply their scan_pubkey with the private key of your first input's address.)
This COULD be remedied by inserting the scan_pubkey into the trezor, having the trezor multiply the appropriate privkey with the inserted scan_pubkey and returning the shared secret pubkey.
Also, this would make it difficult to send TO from an offline wallet (a la Electrum offline wallet) but that would just be a pain in the *** rather than an impossibility. It would involve changing the format of an unsigned transaction for signing offline into a format that would not be backwards compatible with older software... which is not ideal.
Anywho, my main goal for this test is to learn more about the server load caused by checking every input of every transaction.