Beh sai, ciò che vedi nella shell è una stringa per forza, altrimenti non la vedresti. Ti ho detto, controlla il tipo del dato che immetti nel database prima di immetterlo. Fare "return" e vederlo nella shell non significa nulla.
Ma ammettendo che una funzione che si chiama parse.parse.parse.parse.parse.parse...parse.....parse effettivamente NON faccia il parsing (siamo un po' nel campo dello strano ma vero) e quindi tu abbia davvero una stringa in mano, l'idea che non si possa inserire una stringa Python in un campo text mi sembra un po'... irrealistica. Non uso Mysql (diocenescampieliberi) e non posso fare nessuna prova. Ma ti consiglierei *calorosamente* di sospendere tutto quello che stai facendo, cd in un'altra directory, e scrivere dieci righe di codice che creano un database mysql nuovo, da zero, fanno una tabella con una colonna text, e ci mettono dentro la stringa "hello world". Se questo fallisce, posta il codice (non più di dieci righe) e vediamo se capiamo che cosa non va.