Es scheint als würdest du einfach Hexadezimale und Dezimale Were vertauschen.
#27 ist
ASCII Dezimal 27 also ein
ESCAPE. Um ' darzustellen, musst du 27 Hexadezimal nehmen, also
#$27 (Mit dem Dollar Zeichen) oder 39 Dezimal, also #39.
s := StringReplace(dmsDocObj.URL, #$27#$27, #$27, [rfReplaceAll]);