I don't know if the order of the columns is the same in your program and in the database.

On one hand, you have:
Code:
RFX_Text(pFX, _T("[AudioFile]"), m_AudioFile);
RFX_Long(pFX, _T("[LanguageId]"), m_LanguageId);
RFX_Long(pFX, _T("[Qid]"), m_Qid);
RFX_Text(pFX, _T("[Question]"), m_Question);
which leads to think that the third field is "Qid" and not "Question".

But on the other hand, you have your message saying that the problem is caused by the third field whose name is Question.

Instead of "SELECT * ..." in your query, could you try "SELECT AudioFile, LanguageId, Qid, Question ...", so that you'll be sure that the order is the same as the one you expect.

(Maybe I'm completely wrong, this is just an hypothese.)