No, I do not think it is funny either. I can understand that v2.4 is not going to be that backwards compatible, but v2.2 should be. It appears the Devs have just made a decision and tossed common sense out the window - which would not be the first time. (Like "military intelligence", a contradiction in terms really, I have never found sense to be all that common.)
Am I right in thinking and suggesting the error is really originating here
line ? of unknownfile: call to progressive_parser->start_tag()
(My actually php skills are somewhere south of very ordinary I am afraid.) What is the start_tag() function? Where does it originate from? What does it actually do? So what is calling the start_tag() function? Can there be an errorhandler there to trap the exception? Is there something in the v1.9 backup that is asking for the start_tag() to run? If there is, can it be deleted from the backup file or trap and handle an error? Is the function in the php parser. Can it be edited to produce a null result, but not an error? Is there something in the backup.php file calling the function that can have an error handler associated with it? Surely one of these things might help?
Of course, this assumes that any modification is not going to cause more problems than it solves.