> RConv::htmlspecialchars()関数で、
> "+" が " " に置換されていますが、この処理は必要ですか?

必要。
URL エンコードはどっかの RFC でそのように定められていたはず。
だから、'+' という文字そのものが必要な場合は % を使って 16 進表記に
しないといけないはずだ。