Усе, Гуд!
Функцию просто надо было поправить вот так.
Код:
function crc16(twoSym:array of Word; size:Word):Word;
var
i:Integer;
crc:Word;
begin
crc:=$FFFF;
for i:=0 to ((size div 2)-1) do
begin
crc:= (crc shr 8) xor CrcTab[(crc and $FF) xor twoSym[i]];
end;
Result:=(crc shr 8) or (crc shl 8);
end;
Кто считает, что извращено слишком, готов услышать конструктивную критику=)