Now I can reproduce the bug, but it is fixed when you replace the following method in IntfGraphics and recompile the IDE ("Tools" > "Build Lazarus with profile..."):
procedure TLazWriterTiff.InternalWrite(Stream: TStream; Img: TFPCustomImage);
begin
AddImage(Img);
SaveToStream(Stream);
end;
Without the duplicated tags, the TIF image loads without crashing.
But you will not be happy with it - it is displayed incorrectly.
If, in FpWriteTiff, procedure TFPWriterTIFF.AddImage, the default value for "AlphaBits" is set to 0 instead of 8 the image is displayed correctly:
procedure TFPWriterTiff.AddImage(Img: TFPCustomImage);
...
AlphaBits:=StrToIntDef(Img.Extra[TiffAlphaBits],0); //8);
...
But the previously written images are displayed correctly by the Windows Explorer. Therefore, I think this is not the real reason of the display issue.