Your array contains a reference to the object, this is why everything in the array appears to change after each question. It seems you're expecting the object to be cloned when it is pushed to the array, but that is not the case.
Create a new object for each question like so:
curQuestion++;
qData = {}; // <-------------- create a new object
qData.qQuestionText = gel("questionText").value;
qData.qAnswer1 = gel("Answer1").value;
qData.qAnswer2 = gel("Answer2").value;
qData.qAnswer3 = gel("Answer3").value;
qData.qAnswer4 = gel("Answer4").value;
qData.qAnswerText = gel("AnswerText").value;
questionList[curQuestion] = qData;