I look now and see that OS3.1 workbench do intern icon draw, this mean the OS Function drawiconstate is not use in workbench and OS3.1 iconlib does not contain this function.
also i see no easy way how i can remove the resident iconlibrary of 3.1.resident is in ROM.
only i fix the AFA boot hang when a icon.library file is on OS3.1 in libs dir.
skinning and PNG icons dont work then, but its better than hang in the boot.
The FAQ can add then a the entry, that no icon.library should stay in libs dir if the OS3.1 romlib is active
only your trick can work.your trick seem use the workbench code of 3.9, so it can work