I had a new look at this. It's a problem with the FlexibleMapAccessor. It interprets "answers.1040" as null. There are 2 solutions * easy, but certainly not generic enough, put an underscore before each surveyQuestionId value * change FlexibleMapAccessor to not interprets strings like "answers.1040" as null, resulting for if-empty tag to render a false result (empty, but it's not)
I remember having seen a discussion about such strings (Id beginning by a digit) but I did not find it. Jacques