Something here seems off to me as well.
Here's a standard loop where we'd see where the "1" appears in "1111":
seed
= INSTR(seed
+ 1, "1111", "1")
Now, if we want to do the same with _INSTRREV, we end up with a problem:
With _INSTRREV, the seed is currently the number from the left, so when we do _INSTRREV(3, "abcdef", whatever$), what we're looking for is where whatever$ appears in "abc". With _INSTRREV(2, "abcdef", whatever$), what we're looking for is where whatever$ appears in "ab".
But when the seed becomes 0, what we look for is where whatever$ appears in "abcdef"...
If seed represents basically working with LEFT$(search$,seed), then a seed of 0 should always return "" instead of the search$.