I’m doing something similar for a home-built LMS. That is, we want to capture and store what people say in free-form quiz fields. While the answer is embedded in the cmi.suspend_data info, it appears a better way to get it is from the cmi.interactions.*.learner_response info (assuming the module was published with the "report interactions" option, and your LMS asks for the data and does something with it).
For example, when the Presenter Flash module starts up, it calls our LMS with this method:
...and our LMS responds with the string:
Later, on the slide that has the free-form quiz field, the Presenter module calls our LMS with this method:
SetValue("cmi.interactions.0.learner_response","this is the answer")
...where 0 represents it was the first quiz, and "this is the answer" was what I typed in the free-form field. Now, our LMS just has to do something with that value (write it to the database, etc.).
Thanks. I confess I'm not totally hip to the technical side of all this, but I think this is information I can provide to my LMS provider that might move this forward. My module was published with the "report interactions" feature, so maybe there's hope. I appreciate your sharing what you've done, warts and all. I hope you're able to make it work. I'll let you know how things go on this end.