El método que citas es básicamente el indicado, salvo que no requieres un memo sino que basta un objeto TStringList. Por cada registro tendrás que leer campo por campo para formar una cadena de valores separados por coma y será esa cadena la que agregues al StringList.
Pero otra opción que puedo recomendarte para facilitar las cosas, es que busques en la página del compañero
delphi.com.ar, las componentes ExportSuite, que, además de ser gratuitas y, creo, con código incluido, te permiten conectar tu componente Table donde esté tu tabla DBase, a una componente DataToAscii, ajustar propiedades (caracter de separador, caracter delimitador, etc) y usar su método SaveToFile para generar el CSV.
// Saludos