Creo que el problema puede estar aquí:
Código Delphi
[-]stream:=TStringStream.Create(ParamByName('VALOR').AsString);
Estás recuperando un BLOB como string. No te da error, pero tiene pinta de que no tiene mucha lógica, dato que un BLOB puede tener cosas que no tengan nada que ver con un String.
A ver si
este link te sirve.