I haven't tested this yet, but I see some problems in the Code. You create $Body and copy the body into it. Then you run RichText2Ascii, but you don't pass $Body to it and you don't store the result data. So both $Body and $GetParam{Body} are unchanged?!

Did you really test this both with BrowserRichText enabled and disabled? I would think that it should fail in at least one of the scenarios.

Please also call $Body $PlainBody because that's AFAICT what you try to use it as.