I also just recently ran into an issue similar to this: I have sent data (script parameter) via an FMP URL, some of which was encoded, and the data was getting unencoded before being passed to the script. I wouldn't be surprised if it is the same part of the FM engine that is processing the two parts.
In my case, I was manually encoding the data to HTML standards before hand in order to avoid having these characters show up in the end data. But since it is automatically being decoded, I end up with those characters anyway. Grrr. I have had to slightly alter my encoding to avoid this problem.