Answer
Check for a colon (:) character anywhere in the message text — a colon in the surrounding text has been found to break the substitution mechanism entirely, causing inconsistent or missing output depending on exactly where it falls relative to the placeholder. Replacing the colon with a dash (or rewording to avoid it) resolved this exact intermittent-looking substitution failure.