First,
Block Comment On = { Block Comment Off = } is a senseless block comment definition because the line comment definition
Line Comment = { always "wins" here. Line and block comment starting strings must be different. If Pascal interprets
{ as line comment as well as block comment starting string UltraEdit will not be able to highlight block comments using
{ } correct.
After reading briefly some webpages about Pascal syntax I think the block comment definition is correct and the line comment definition is wrong because I could not read on any of those pages that Pascal supports line comments at all. Interesting is that the
Pascal wordfile from
wordfiles page submitted by a user has a different first line than you posted and than another user posted at
pascal string highlighting problem
Second,
Escape Char = "' String Chars = ' is definitely not correct. I think it should be just
String Chars = '". It is possible to define 2 characters for string start/end, but only 1 character can be defined as escape character for the string character inside strings. This could be the reason why your Pascal files are highlighted completely as strings.
EnableMLS enables multi-line string highlighting which I think is correct for Pascal. But with wrong string characters and escape character definition it can happen very easily that UltraEdit highlights everything as string starting from first string with an escaped string character inside.
The Wikipedia page
String literal explains that in Pascal the string start/end character must be used doubled to escape it. For correct highlighting such strings it is better to define no escape character. Then UE would read double quoted strings with double " or single quoted strings with double ' inside as 3 or more strings, but that does not matter for syntax highlighting or spell checking.
Perhaps UE uses an internal default for an escape character if a wordfile does not contain
Escape Char = and therefore it is necessary to overwrite this internal definition by a definition in the wordfile using a character as escape character which usually does not exist in strings. That would be an explanation why
Escape Char = · was used by the other user for Delphi as posted at
pascal string highlighting problem.
BTW: You can use the language marker
PASCAL_LANG on the first line of your wordfile after
/L20"BPW". This language marker string is defined in UltraEdit as documented on help page
Syntax Highlighting. But I don't know which effect this language marker string has if it has one at all.