The method the plugin is currently using still stores the data in the server's ram too, so there is not any reason not to store it there using the file methodology. The "form" method currently used does not offer any more security, yet it loses the needful file methodology.
I did a test and found that when I build the ram file as a file, the slashes do not get added. It works! And this is on the same server where the form method does not. Again, php_info() shows that magic quotes is turned off for me. If my problem was that, my test would have been affected too, no?
Here is the file methodology format I used in a successful test:
header("Content-Disposition: attachment; filename=\"downloadablefile.csv\"");
echo 'Contents of line 1 of plain text downloadable file' . "\n" . 'Contents of line 2 of plain text downloadable file' . "\n";
When I used the above method, I copied the user list data from the "view page source" (before slashes were added). I used find and replace to convert the encoded double quotes ( the ampersand followed by quot;) to regular double quotes ( " ). I also replaced each hard return with the new line code ( \n ), wrapped in double quotes, and concatenated with the dot. So:
'content' . "\n" . 'content' . "\n";
This worked. I am not sure how long it would take me to figure out how to tweak the plugin code to try to implement it, because I don't know your code very well at all.
Thanks for your kindness and great helpfulness. If my input can result in a better plugin that helps people in my same shoes, I will be grateful.