pander.data.frame() returns NULL, and from its documentation it's not obvious that this is intended and that the call needs to be replaced with pandoc.table.return() to return the table. I spent a very confusing half-hour this morning trying to figure out why a bit of debugging code appeared to generate the table but didn't write anything to disk.