I wonder if the "quoting" problem could be fixed by making m4 recognize Lua-style longstrings, which never need escape characters. Some examples:
http://lua-users.org/wiki/StringsTutorial
I considered using longstrings to make a "better CSV" once but then I realized that quoting is only one of the many problems with CSV.