The problem is that if the memo field is longer than MDB_BIND_SIZE bytes in length (defined in mdbtools.h and currently 16384), then the mdb_memo_to_string function in data.c fails. Specifically the function mdb_unicode2ascii in iconv.c does a copy from the source buffer to the dest buffer using the source length instead of the minimum of the source length & the dest buffer length (in case the destination buffer is too small).
Attached is a patch for data.c that should fix the problem. It increases the size of the "text" buffer if the memo is larger than MDB_BIND_SIZE bytes.
The patch should be applied to data.c in the src/libmdb directory.
Unified diff patch file for data.c