A mi se me ocurre buscar el reverso de la subcadena en el reverso de la cadena y luego tomar el complemento de la posición encontrada respecto a la longitud de la cadena tomando en cuenta la longitud de la subcadena
O sea:
Código Delphi
[-]
uses StrUtils;
function LastPos(Substr, S: String): Integer;
var
I: Integer;
begin
I := Pos(ReverseString(Substr), ReverseString(S));
if I > 0 then
Result := Length(S) - Length(Substr) + 2 - I
else
Result := 0;
end;
// Saludos