Transaction with OP_RETURN rejected by bitcoind 0.9
I suspect that the second output is being rejected because it contains an OP_RETURN with two data pushes.  From browsing the code, "Solver" in script.cpp only categorizes output scripts as "standard" if they meet one of a limited set of templates.

All such templates containing OP_RETURN:


OP_RETURN, by itself
OP_RETURN, followed by a data push operation that pushes not more than 40 bytes onto the stack.


Since your script is "OP_RETURN, followed by a data push operation that pushes not more than 40 bytes onto the stack, followed by another data push operation", it looks like it wouldn't meet either of those templates.