Yes, it’s intended behavior.
DEVONthink’s artificial intelligence procedures are at the core of the database. When a new item is added to a database its text is read, the words in it added to the Concordance, and the database keeps track of the contextual relationships of word usage in every document (the basis of the See Also procedure, which can suggest other items that may be contextually related to the document being viewed). When the user places a new document into a group, the database keeps track of the contextual relationships of the words used in that group (and in every other group in the database, as well), so that the Classify routine can make suggestions about a possible location for a new item.
In most languages, these procedures are faster and more efficient if they are restricted to alphanumeric characters. So, for that matter, are the Search procedures. Note that in DEVONthink searches, “*” and “?” are WildCard characters.
An underlying principle in DEVONthink is that the information content of text in documents is primarily conveyed in strings of alphabetical characters and/or numerical characters. These are the “word” strings that are compiled in the Concordance. Any such “word”, when entered into a Search query, will be found very rapidly. An exact string, a sequence of specific “words” in order is defined in the Search syntax by enclosing them within quotation marks (equivalent to a phrase, but ignoring any punctuation marks, of course).
So, if you wish to enter searchable markers in text documents in a DEVONthink database, a character such as “#” will be ignored by DEVONthink’s Search procedure, just as though it were a Space or a punctuation character such as a period or semicolon. You might use, instead, a “word” of at least 3 characters, such as “mmm” or “zxz”.
Of course, for examining all the characters in an open document, Apple’s Find routine is available, and it can find the “#” character.