I have resolved the problem with loading Classic Amiga Icons.
IconClone had an issue reading the Special Boolean Values. But in reality they are either BOOL_NO=0 or BOOL_YES=1.
So the values can only be zero or other than zero. So I used Magellan to do an Icon Exchange for Screen_Mag.info &
then noticed that the Special Boolean Values were all set to 0xFE CA AD AB ("A BAD CAFE") & it could be any value
like 0xBAD DECAF if you don't like decaf.
So I realized I only needed to change the way IconClone evaluates the BOOL_YES or BOOL_NO such as the following:
//firstimage = (GetUint32(Buffer32)>0) ? 1: 0; //22
firstimage = (GetUint32(Buffer32)==0) ? 0: 1;
Instead of testing whether the value is greater than zero so it equals one the better technique is test for zero values.
If it is not zero it is one. Very easy evaluation. So now it all works as expected.
But I'm glad I wrote the functions to save Classic Amiga Icons. I will use it in my next Icon Application to make Amiga Icons.
@magorium Thanks for the subtle clue to solve the puzzle.