The regexp engine has never been re-entrant. It has only mattered since we have
/(?{ })/ and
/(??{ })/, before that, there was no way to start another match before the first one was finished. So even if it were re-entrant, you couldn't use the fact.
This:
/PAT1 (??{m!PAT2!}) PAT3/
is very likely to do unexpected things due to the regexp engine not being re-entrant.