I think the saved pointer of "from where to start next search" is simply set to "behind" the last found match. If you then delete this match, the pointer is simply behind the next match. Taking a look that the CR+LF behind each line and counting the chars with CR+LF, it is clear for me, that PREFIX_ and PREFIX don't work but PREFI works, because there are enough chars between the last and the next match.
You can see this with another search, please put in the IDE:
#ABCABCABCABCABCABC
and search for ABCABC, you will get
#[ABCABC]ABCABCABCABC <- [] marks the first match
#ABCABC[ABCABC]ABCABC <- [] marks the next match
#ABCABCABCABC[ABCABC] <- [] marks the last match
Other editors would start with their matching
#[ABCABC]ABCABCABCABC <- [] marks the first match
#ABC[ABCABC]ABCABCABC <- [] marks the next match
#ABCABC[ABCABC]ABCABC <- [] marks the next match
#ABCABCABC[ABCABC]ABC <- [] marks the next match
#ABCABCABCABC[ABCABC] <- [] marks the last match
We can discuss now, if it is a bug or a feature
