It's allowed to use XSQLVAR (or blr messages) between different types like number->varchar (or vice-versa) but it's not allowed to use different types when one of them is a blob.
DSQL moves data using MOVD_move, which do it like a client move. This was ok before, cause DSQL was not part of the engine and blobs wasn't very integrated with others types. Now it's very inconsistent.
The proposed change makes possible to move blobs to/from different types in the execute and fetch calls.
For input parameters, it is specially good as user can put the parameter as string without need to create and fill a blob from the client side.
For output (execute or fetch), it's good when the application knows it's data and may describe a blob as a string with its maximum length.