Thanks for the clear, concise suggestion! It seems you are right that this might be the only way.
[text fromlist] was one of the first things I tried, but I couldn't get the carriage returns to work correctly. I have it now!
I needed use this to add line breaks:
[add2 \;(
Then each line could be stored in [list store] which I could bang into [text fromlist]. The other important ingredient was writing the file with a -c flag to [text define] so the line breaks wouldn't have semicolons. The output file is now exactly like [pool]'s.
Also, thanks for the offer to compile pool as 64-bit. I'm hoping to get my work as close to pd-vanilla as possible for maximum forwards compatibility, but I'm sure there are other people out there that are looking for it.
Sam