An important issue, AFAIC, is a complete lack of understanding of how radar/transponder works, and what the ATC procedures are in this respect. That either shows a lack of initial or recurrent training, or a lack of interest in what equipment is on board and what it's doing.
His decision to stay at a lowish altitude to stay out of the way of CAT was a sensible one, but apparently he was not squawking at all, or squawking mode A exclusively. What he did not know, apparently, was that ATC in that case only has a lateral position fix on the aircraft, not a vertical one. So ATC has to work on the assumption that the aircraft is at a "dangerous" level. If he would have had a transponder with altitude encoding (mode C or S) then ATC would have altitude information as well (unverified, though). I don't know the exact procedures that ATC has for dealing with an infringement that is squawking an unverified altitude, but I can imagine that ATC has a little more flexibility, compared to dealing with an unknown altitude.