Hola JLedian.
en primer lugar bienvenido a los foros. Te recomiendo la lectura de la
guia de estilo (vínculo en mi firma) y que aprendas el uso de las etiquetas [ code ] [ delphi ] y [ sql ] para publicar trozos de código correctamente indentados y hasta con la sintaxis resaltada.
Podes editar tu post para conseguir este efecto con los trozos ya publicados, con lo que es mas probable que obtengas respuesta a tus preguntas, pues regularmente los trozos de código publicados como el tuyo se hacen poco legibles y son pocos los que se dan a la tarea de interpretarlos.
Con respectua tu problema, parece que estas tratando de "duplicar" los valores desde la tabla usando el mismo Dataset. Esto es imposible, pues al llamar a Append, se crea un nuevo registro y el DM.ADOTblAcca.AsString simplemente devolverá una cadena vacia, pues está apuntando a un registro nuevo.
Antes de hacer el append podes almacenar los valores en variables y asignarlos desde alli, o bien usar otro DataSet para la misma tabla, y que apunte al registro que queres duplicar.
Hasta luego.
Hasta luego.