Solo podré especular, mi experiencia no es mucha, ya nos orientara el moderador, pero esta parte del codigo es correcto?.
Código Delphi
[-]
if string.IsNullOrWhiteSpace(Observaciones) = true then
ParamByName('p5').Value:=Null else
ParamByName('p5').AsString:=Observaciones;