Если я правильно понял, DBListBox не подключен к набору данных, задержанному в сетке? Это объясняет, почему набор данных сетки не установлен в режим редактирования при изменении данных в DBListBox.
В любом случае, всякий раз, когда вы изменяете данные, которые должны попасть в таблицу mysql, вы должны переключить этот набор данных в режим редактирования. Затем вы можете поместить кодирование значений, разделенных запятыми, в событие OnBeforePost.
Когда набор данных прокручивается без каких-либо изменений данных в списке, нет необходимости хранить какие-либо данные. Это достигается с помощью описанного выше подхода, так как без режима редактирования в этом случае не сработает событие BeforePost.