Добавив [untagged], компилятор "проглотил" строку в присваивании.
Однако, насколько я понимаю, обероновские строки остаются несовместимыми с сишными, поэтому последние необходимо конвертировать в родной формат.

Обратить внимание на копирование строки Ver в Ver2.
## Код:
```
MODULE TestCairoVer;

IMPORT
   Api := CairoApi, L := StdLog;

PROCEDURE Do*;
(* CrTSString* =  POINTER TO ARRAY [untagged] OF SHORTCHAR;
   PROCEDURE [ccall] cairo_version_string* (): CrTSString;
 *)
VAR Ver: Api.CrTSString; Ver2: ARRAY 200 OF CHAR;
BEGIN
   Ver := Api.cairo_version_string();
   Ver2 := Ver$;
   L.String (Ver2); L.Ln
END Do;

END TestCairoVer.
```

Неужели и вправду, конечный вариант?