There are another set of arguments /against/ using stopping the loop at the sentinel values because it may make the software less deterministic. But, that's another topic.
memcpy() always copies n bytes, regardless of actual string size so is very deterministic and (commonly) inlined so is static. strcpy() on the other hand would loop infinitely until it found a null-terminator, it also is not deterministic.
memcpy() is easily analysable. strcpy() isn't.
EDIT: On re-reading your message and the message it is responding to, I believe you are meaning opposite things by "sentinel".
Yes. It can be a few orders of magnitude higher than your expected array size: the goal is to prevent infinite loops. If you're looping over short user provided strings, if you hit an arbitrary counter of 1M, something probably went wrong, and the code should error out appropriately.
Though I suppose in real safety critical systems, you often review these limits and make sure they still apply.