I fully agree with all of the above about the timing.
I also feel RISC OS 5 should definately have had AIF header *checking* from the beginning in the same way as it already has module header checking, so if an program declares itself as 26bit it doesn't get to run - as it will either be an application which hasn't been ported, or one which has been recompiled/ported incorrectly and still likely to have problems. Currently an absolute is only faulted if it attempts to call a 26bit variant of the Shared C Library initialisation call, which wont stop programs which dont use the SCL.
However mandating that all absolute files should have AIF headers is another matter, and isn't something that should be introduced without warning by any party (I would have been equally unhappy if Castle had done it). Entire portfilos of software can't be updated overnight even if there are still people willing to do it. AIF headers on non absolutes such as FFC utilities is plain wrong, there is already an informal lightweight mechanism for these, which is to put "32OK" in the last word.