Хотя до конца не ясно, почему описание этих колонок вызывало такую ошибку.
Потому что есть описание колонок, но нет самих колонок в перечислении. То есть данные для сохранения как бы есть, но их как бы некуда сохранять. Поэтому xPDO и матерится. По этой причине не совсем ясен смысл отделения колонок от описания колонок. ИМХО надо было описания колонок фигачить в массив колонок, а не плодить два отдельных массива. Но сейчас уже наверняка это никто менять не будет.