OMG! Too many overloads from ancient times... The problem occurs because TsSpreadFormatID is just an alias for an integer, and thus the compiler cannot distinguish whether the second parameters means the file format id or the worksheet index.
I removed one of the overloads, and LoadFromSpreadsheetFile works now with all parameter counts. But note that the overload specifying only the sheet index but not the (user-defined) format is no longer available now.
procedure LoadFromSpreadsheetFile(AFileName: string;
AFormat: TsSpreadsheetFormat; AWorksheetIndex: Integer = -1); overload;
procedure LoadFromSpreadsheetFile(AFileName: string;
AFormatID: TsSpreadFormatID = sfidUnknown;
AWorksheetIndex: Integer = -1); overload;