I just tried the following code
Code:
procedure TImageListCollection.LoadFromFile(const Filename: string);
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create(Filename, fmOpenRead or fmShareDenyNone);
  try
    LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
end;
and it loaded the images fine. I'm not sure why it would have given you a 'stream not working' or similar error.

Working on the Image.Init now.