@Diogo E Filipe
After looking at your code, I think I understand better what you want. basically you want to have the list of answers identifiers in the parent screen right? Well if that's the case, I suggest you to NOT be listAppending answers to that List in the QuestionAndAnswers block onchange action. Instead,you can do the following:
In the parent screen, create a list to store the given answers, this can be a list that contains an answerId and questionId (for that you can create a structure with those two attributes):

This will be the local variable list where you will save your answers.
After that, in the OnChange action of the checkbox of an answer, you trigger an event, where you will pass the AnswerId that was clicked as well as the QuestionId, as you can see in the image below:

After this, you will need to define the Handler action that will be triggered when the event brings the info to the parent screen.Let's call this action RegisterAnswerGiven
In that handler action, is where you will fill in the newly created list variable, and so the handler action will look something like so:
The reason why you don't simply append directly the Id that comes from the event is because there can already be an answer given for that question in the list. Because of that, you can filter the list for any answer given to that Question, remove that answer first from the list, and then yes, you append the new answer that came from the event.
This should work and your end result will be having all the answers stored in this list!
Hope this helps.
Cheers,
Paulo