I would presume that a BLOB is "interpreted" as a text string and that if the text string is invalid, then the result is NULL. Similarly, the propagation of NULL requires that a NULL in means NULL out. Any value that is not valid would cause a NULL return. This is current/present behaviour.