<clip>
Again, this was only minimally-tested with your example, and I don't know if it works in every case
Thank Tony for your complete and accurate answer.
I have tested other conditions and it seems work good:
(string->list "\"Abc\",\"Abc\"" ",") => ("\"Abc\"" "\"Abc\"")
(string->list ".99,.99" ",") => (".99" ".99")
(string->list "1.0,1.0" ",") => ("1.0" "1.0")
(string->list "1,1" ",") => ("1" "1")
(string->list "Xyz,Xyz" ",") => ("Xyz" "Xyz")
(string->list ",," ",") => ("" "" "")
(string->list "(1 2 \"Abc\"),(1 2 \"Abc\")" ",") => ("(1 2 \"Abc\")" "(1 2 \"Abc\")")
(string->list "(1 . 2),(1 . 2)" ",") => ("(1 . 2)" "(1 . 2)")
(string->list "(1/2\"Abc),(1/2\"Abc)" ",") => ("(1/2\"Abc)" "(1/2\"Abc)")
(string->list ".,." ",") => ("." ".")
(string->list "(,(" ",") => ("(" "(")
(string->list "),),(,)" ",") => (")" ")" "(" ")")
Ciao.