If you turn your filtering to raw, does it save as expected? (This works for me).
Of course =' makes it look like part of an sql query and in an effort to prevent abuse your text filtering may try to correct that by closing it.In my case with default blacklist filtering it actually change the content of the editor to raw html once the quote was started mid article.
If I put it at the end I will just get ='</p>' because of the TinyMCE p insert. You probably are getting ='' because your editor isn't inserting a p.
What I would suggest is that you not require = quote marks in your plugin, but instead do something a bit more standard.
Here's a snippet from the very simple image gallery how to page that shows how they us options
Samples:
{*vsig}verysimple|width=600|right=2{/vsig*} - without the asterisks
Regardless of the settings in the backend, this gallery is shown with a width of 600 pixel (width=600). The thumbnails are below the main image and get justified to the right border of the main image (right=2)
{*vsig}verysimple|width=600|right=1|cols=2{/vsig*} - without the asterisks
Width 600 pixel (width=600), thumbnails right (right=1), in two columns (cols=2)
{*vsig}verysimple|twidth=80|theight=60|space=3|quality=80{/vsig*} - without the asterisks
Thumbnails are 80 pixel of width (twidth=80), 60 pixel of height (theight=60), there is 3 pixel space between them (space=3) and they are generated with 80% of the possible quality (quality=80)
Elin