Belgique ...
The fact that they never reported "Level FL350" - but only read-back that final cleared height - may indicate that they levelled and soon thereafter accelerated straight into a compressibility encounter..... having already accumulated some of the icing-induced errors on climb.
I like your analysis, but would like to offer a comment on triple redundancy, which may be pertinent to the discussion.
JD-EE has already dealt with the NASA approach to the subject. However, I would have to say that the tried and proven saying of "garbage in equals garbage out" is important here. If two components of the equation (pitot & temperature senors) can fail because of one cause, e.g.
ice, then there needs to be an alternative means of measurement.
In respect of the FL350 level time, I am not sure exactly when they levelled, but on transfer to Recife Center at 23:19:27z (50 minutes after take off) they reported level at FL350. Curitiba Center cleared them to FL350 at 22:55:41z and it would be interesting to know from what level, and the time they actually levelled. This means that they had been at FL350 for at least 2 hours 50 minutes prior to the upset.
mm43