I’ve not looked at the code (edit: in years), but I my guess is that the problem is that the line with the bare , is getting interpreted as the start of a signature, and that’s why it’s getting stripped.
Sure. See what messages are causing the problem. Modify the code to not strip the messages. The trick is getting it not to strip the stuff you want while still removing the cruft.
If you don’t want to fix the code yourself you can post in marketplace.