Lee,
I tryed your function but I get error, where I am wrong?
(setq str "a, b, c,John The Baptist Smith,4,5,6")
(LM:csv->lst str "," 0)
(setq str "a, b, c,John \"The Baptist\" Smith,4,5,6")
(LM:csv->lst str "," 0)
(setq str "552.32,\"Smith, John\",42,350,a,b,c,d")
(LM:csv->lst str "," 0)