Supongo que eso se debe a que el botón guarda su propia imagen en lugar de usar directamente la del imagelist asociado a la acción. La única manera que he visto para que actualice la imagen es:
1. Borrar la imagen del botón
2. Borra la acción del botón
3. Volver a asignar la acción.
O sea, algo como:
Código Delphi
[-]
TAction(Action).imageindex := 1;
Bitbtn1.Glyph := nil;
Bitbtn1.Action := nil;
Bitbtn1.Action := Action;
// Saludos