Проблема не в присвоении указателей, а в присвоении открытому массиву Line : ARRAY OF CHAR.

PROCEDURE GetCommandLineW* (): PtrWSTR;
PtrWSTR* = POINTER TO ARRAY[untagged]OF CHAR;

Длина массива, на кот. указывает CmdLn не известна. Пишите CmdLn$, чтобы присваивал String