While investigating a ScriptException in bitcoinj caused by a user supplied BIP70 payment request, it turned out that the user had put a base58 address directly into the script field in the Output protobuf, rather than a pay-to-address script.
Bitcoin Core 0.9.0rc2 accepts this and if I pay, I end up with a transaction without "to address" in my transactions list. While I'm aware its the obligation of the payee to supply a valid script, I'd argue it should at least be checked if the field can be parsed as a script. At least the spec tells it should be a "TxOut" script.