Replace's Start argument is documented in help  as "Numeric expression that indicates the character position within the string where the search shall begin. The maximum allowed value is 65535."
But it's not only that; it is also the start of the substring to be returned. This is how it's implemented, and also consistent with analogous VBA function .
E.g., Replace("ABCDE", "C", "*", 2) will return "B*DE", starting from the position 2. This needs to be documented in help.
While at it, the argument has no limitation (or rather, it's 32-bit signed integer); the limitation of 65535 mentioned in help should be dropped.
Olivier Hallot committed a patch related to this issue.
It has been pushed to "master":
tdf#132390 Correction for replace() Basic function